Jak wymusić leniwe ładowanie strategii tylko dla danego NamedQuery.JPA - Force Lazy ładowanie tylko dla danego zapytania
dla np. Rozważmy poniższy kod pseudo (tylko w celu wyjaśnienia sprawy) Mam podmiot
@Entity
class Xyz {
int a;
int b;
@Fetch = EAGER
Set<ABC> listOfItems;
}
w tym przypadku mamy zadeklarowane LISTOFITEMS się ochoczo idące.
Teraz załóżmy, że mam NamedQuery (query="getXyz" , name="select x from Xyz x where a=?")
Dla tego zapytania, po prostu potrzebuję, aby wynik był leniwy, tzn. Nie chcę, aby lista została pobrana.
W jaki sposób mogę je osiągnąć? ps: 1. Nie chcę zmieniać LISTOFITEMS być leniwy w klasie Entity 2. Nie chcę, aby wybrać konkretne pola w zapytaniu jak name="select a,b from Xyz z where a = ? "
Z góry dzięki za sugestie
Co zamierzasz zrobić z wynikiem NamedQuery? Mogą istnieć alternatywy dla tego, co próbujesz osiągnąć. – siebz0r
@ siebz0r Chcę tylko pola pierwszego poziomu do wyświetlenia. Podczas gdy istnieją inne wyświetlacze, gdzie trzeba pobrać zestaw .. W moim przypadku chcę poprawić wydajność, nie chęcią je ściągając. Jeśli masz jakieś sugestie, udostępnij. Dzięki ! –
Sugerowałbym przypisywanie zestawu jako leniwy. Dlaczego nie jest to możliwe? – siebz0r