сбор левого внука приводит к появлению NPE в спящем режиме - PullRequest
2 голосов
/ 11 мая 2011

У меня есть сущность под названием Foo.Он имеет недопустимую связь много-к-одному с Баром.Bar имеет необнуляемую ассоциацию «многие к одному» с Baz.

Моя цель - захватить все сущности Foo и охотно получить их ассоциации Bar, а для тех foo, где foo.bar не равен NULL, охотноfetch foo.bar.baz.

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

select f from Foo f left join fetch f.bar left join fetch f.bar.baz

select f from Foo f left join fetch f.bar.baz

Теперь это работает:

select f from Foo left join fetch f.bar

Но это не приводит к нетерпеливому извлечению f.bar.baz дляте f с ненулевым баром.

1 Ответ

1 голос
/ 11 мая 2011

Вам нужен псевдоним bar в вашем запросе:

select f from Foo f
  left join fetch f.bar b
  left join fetch b.baz
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...