JPA и Hibernate Fetch игнорируют ассоциации? - PullRequest
0 голосов
/ 12 февраля 2009

У меня есть сущность JPA (Объект A) с отношением владения One-Many (Объект B) в ArrayList.

Я хочу иметь возможность запрашивать (либо Hibernate, либо JPA) объект A, не возвращая ни одного экземпляра ассоциации. Объект B (без прокси или иным образом) в One-Many ArrayList.

В идеале возвращаемый ArrayList должен быть нулевым или пустым.

Возможно ли это? В грубом псевдокоде это то, что я хочу:

"из ObjectA, где ObjectA.id = 5 НЕ ВКЛЮЧАТЬ ObjectB"

или

"Выберите из ObjectA a FETCH IGNORE a.ObjectBs, где a.id = 5"

1 Ответ

2 голосов
/ 12 февраля 2009

Если ассоциация для ObjectBs в ObjectA является ленивой, ObjectB не будут возвращены с вашим запросом, если ваш запрос не указывает их выборку.

Если бы вы получили доступ к любым объектам ObjectB после закрытия сеанса, вы бы получили исключение LazyInitializationException, поскольку ваши объекты ObjectB не были загружены в память.

...