Mam kilka scenariuszy, w których serwer odpytuje obiekty z bazy danych za pomocą JPA, a następnie wysyła obiekty do klienta za pośrednictwem usług internetowych.
Ponieważ klient spodziewa się pełnego wykresu w takich scenariuszach, chciałbym przesłonić leniwy załadowanych kolekcji z chętnym ładowaniem i prawdopodobnie żądanie ładowania wsadowego (dla wydajności). Czy istnieje sposób w JPA (lub EclipseLink), aby przesłonić zapytanie w sposób ogólny (bez przepisywania zapytania) i zażądać pełnego wykresu?Wymuszanie zapytania JPA, aby zwrócić z niecierpliwością wszystkie kolekcje/pola
Odpowiedz
Jeśli używasz eclipselink, możesz użyć wbudowanych wskazówek dotyczących zapytań. W ten sposób nie musisz przepisywać jpql, ale możesz zdefiniować typ pobierania w java.
http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Query_Hints#Join_Fetch
10.1.3. Fetch Joins
Zapytania JPQL mogą określać jedno lub więcej deklaracji sprzężenia, które pozwalają na określenie, które pola w zwróconych wystąpieniach będą wstępnie pobrane.
SELECT x FROM Magazine x join pobierz x.articles WHERE x.title = 'JDJ'
Powyższe zapytanie zwraca instancje czasopisma i gwarantuje, że pole artykułów zostanie już pobrane w zwróconych wystąpieniach.
Wiele pól może być określone w odrębnych dołączyć pobrać deklaracje:
SELECT x FROM Magazine x dołączyć pobierające x.articles dołączyć sprowadzić x.authors GDZIE x.title = 'JDJ'
- 1. polimorficzne zapytania JPA z CriteriaQuery API
- 2. mongodb jak zwrócić listę wartości tylko z zapytania wyszukiwania
- 3. Czy można zwrócić obliczone pole z zapytania MongoDB?
- 4. AD za pośrednictwem LDAP - Jak mogę zwrócić wszystkie grupy nadrzędne z zapytania?
- 5. zapytania, aby usunąć wszystkie znaki po ostatnim przecinkiem w ciąg
- 6. Jak mogę zwrócić typy danych SQL z mojego zapytania?
- 7. hibernate jpa kryteriabuilder zignoruj zapytania o kwerendy
- 8. Jak zwrócić wartość z zapytania SELECT mysql w pliku node.js
- 9. Jak zwrócić pojedynczy obiekt wynikowy z zapytania dotyczącego hibernacji?
- 10. Jak zwrócić wszystkie minimalne indeksy w numpy
- 11. Zapytania w stylu JPA/CriteriaBuilder z sesji hibernacji
- 12. Wymuszanie Aggressive JIT
- 13. Wymuszanie całych tygodni z apply.weekly()
- 14. Wymuszanie pobierania z pliku php
- 15. MySQL: Zapytanie, aby uzyskać wszystkie wiersze z poprzedniego miesiąca
- 16. Kryterium zapytania JPA Path.get left join jest to możliwe
- 17. JPA - Force Lazy ładowanie tylko dla danego zapytania
- 18. Jak zwrócić obiekty z wielu obiektów, łącząc się przy użyciu danych sprężynowych jpa?
- 19. Użytkownicy zapytania, którzy mają wszystkie wymagane rekordy w dwóch tabelach
- 20. Jak przekonwertować Joda DateTime w JPA rodzimej zapytania
- 21. Wymuszanie skalaru lub tablicy, aby stać się tablicą
- 22. Wymuszanie obciążenia klasy
- 23. Dlaczego JPA CriteriaQuery nie dostarcza zapytania o aktualizację?
- 24. Opis, aby zwrócić tylko nazwę klasy?
- 25. Zapytanie SQLAlchemy, aby zwrócić tylko n wyników?
- 26. Wymuszanie kompilacji constexpr
- 27. Optymalizacja zapytania JPA przez unikanie JOIN do tabeli odnośników?
- 28. Zgłosić żądanie http, aby zwrócić HTTPartyResponse z Net :: HTTPResponse
- 29. Jaki jest pożytek z Collections.singleton(), aby zwrócić zestaw zamiast kolekcji?
- 30. Kryteria zapytania JPA i kolejność według dwóch kolumn