Po graniu z Linq (do SQL i obiektów), a także Entity Framework od Microsoftu, zastanawiałem się, co to są odpowiedniki non-.Net (konkretnie Java)?Jakie są równoważniki Java Linq i Entity Framework
Odpowiedz
Java nie ma odpowiednika Linq. Jednak Scala, język funkcjonalny, który kompiluje się do kodu bajtowego Java, ma coś, co zamyka: rozszerzoną składnię pętli for.
Istnieje projekt Java o nazwie JoSQL, który zapewnia funkcje zapytań obiektowych o składnię podobną do SQL.
Chociaż sam nie używałem tego, wiem, że jest on używany w niektórych aplikacjach o dużej wadze.
To wygląda całkiem interesująco. Nie jest to narzędzie do bazy danych, ale sposób użycia SQL do działania na obiektach Java (np. LINQ to Objects). –
Dla ciężkiej pracy z bazą danych może być dostępna opcja SQLJ. Minusem jest to, że nie jest to czysta Java i wymaga pre-procesora.
Rozważ użycie Querydsl: http://www.querydsl.com
Obsługuje JPA/Hibernate, JDO, SQL i zbiorów.
Querydsl jest w pełni typu bezpiecznego, obsługuje autouzupełnianie w IDE i zapewnia wspólną składnię zapytań w wielu różnych backendach.
Jestem opiekunem Querydsl, a ja napisałem jakiś czas temu pod nazwą comparison to other frameworks.
Jest nieco stronniczy, ale pokazuje różne nacisk
- statycznie wpisane lub nie
- który backendy są obsługiwane
- jest interfejsem do budowy zapytań kaskadowych lub nie
Nowsze eksperyment ramowy również ze składnią zamknięcia.
Nie ma dokładnej alternatywy, która jest uniwersalna jak LINQ. Jeśli jednak mówimy o LINQ do SQL, to JPA jest naprawdę alternatywą, gdy używa się go z IDE, który obsługuje funkcję "Inject language". Na przykład. IDEA wykona pełną kwerendę zapytania JPA w ciągu znaków
Nie znajdziesz odpowiednika LINQ, chyba że użyjesz javacc do stworzenia własnego odpowiednika.
Do tego dnia, gdy ktoś znajdzie się realnym sposobem, aby to zrobić, istnieje kilka dobrych alternatyw, takich jak
Dla LINQ (LINQ to Objects być bardziej precyzyjne) można używać strumieni począwszy od Javy 8
ta nie działa dla baz jednak tylko dla obiektów wewnętrznych, takich jak kolekcje i listy
To jest naprawdę mocny, ale nie tak kompletne jak LINQ (moim zdaniem)
Sprawdź ten poradnik - http://www.oracle.com/technetwork/articles/java/ma14-java-se-8-streams-2177646.html
chodzi o Entity Framework nie ma nic aż tak silne, że mam jeszcze znaleźć, ale nie próbowałem wszystko rozwiązania zapewniają d w innych odpowiedziach
- 1. LINQ tabeli dołączyć z Entity Framework
- 2. Entity Framework i problemem
- 3. Jakie problemy wystąpiły w Entity Framework?
- 4. Jakie polecenia Entity Framework 6 umożliwiają migracje?
- 5. Entity Framework i Równoległość
- 6. Entity Framework i DbSet
- 7. Entity Framework i MongoDb
- 8. Entity Framework 4.1 Linq Zawiera i uruchamia z
- 9. Entity Framework - zapytanie Linq z zamówieniem według grupy i przez:
- 10. Entity Framework vs Linq to Entities vs Linq do SQL
- 11. Entity Framework i Multi Threading
- 12. Entity Framework Blokady i współbieżność
- 13. Entity Framework i SQL Server Synonimy
- 14. Entity Framework Query Optimization
- 15. Unicode z Entity Framework
- 16. Programowanie z interfejsami i Entity Framework 4.0
- 17. Entity Framework użytkownika i rola zarządzania
- 18. Entity Framework: Dziedziczenie i Dołącz
- 19. Entity Framework i sharded database
- 20. Jakie są najważniejsze biblioteki Java?
- 21. Porównaj daty używania LINQ do encji (Entity Framework)
- 22. Entity Framework jako repozytorium i UnitOfWork?
- 23. Czy łączenie zewnętrzne jest możliwe z Linq do Entity Framework
- 24. Połączenie Entity Framework, Dapper i SSDT?
- 25. wiele do wielu uporządkowane według liczby relacji (Entity Framework, LINQ)
- 26. Zachowanie projekcji Entity Framework
- 27. MVC i Entity Framework 4. Tabela Dołącz
- 28. Entity Framework bez bazy danych
- 29. Entity Framework 4.0 GetChanges() odpowiednik
- 30. Równoważniki ekspresji Haskella
Dla Linqa do obiektów sprawdź ten: github.com/nicholas22/jpropel-light, prawdziwy przykład: new String [] {"james", "john", "john", "eddie"} gdzie (startsWith ("j")). toList(). distinct(); –