[英]left join fetch of nullable grandchild association causes NPE in hibernate
我有一個名為Foo的實體。 它與Bar有一個可為空的多對一關聯。 Bar與Baz具有不可空的多對一關聯。
我的目標是獲取所有Foo實體並熱切獲取其Bar關聯,對於foo.bar不為null的foo,則熱切獲取foo.bar.baz。
這可能嗎? 以下兩者都會導致休眠狀態在其查詢引擎內引發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
但這並不急於為那些非空bar的f獲取f.bar.baz。
您需要在查詢中使用別名bar
:
select f from Foo f
left join fetch f.bar b
left join fetch b.baz
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.