Java Hibernate-二级关联

Java Hibernate-二级关联,java,hibernate,Java,Hibernate,假设我有桌上食物、桌上酒吧和桌上动物园。 foo有一个成员栏,它们之间有一对一的关系。 酒吧有一个列表,它们之间有一对多的关系 读取条形图时,列表不会自动初始化(即它是惰性的) 使用hql,我想得到一个在bar中初始化了zoo的foo对象列表 因此,在以下方面: select f from Foo f left join fetch f.bar.zoo 这显然抛出了一个异常,我知道这是因为返回的所有者是Foo而不是Bar。尽管如此,我需要Foo而不是Bar,我需要初始化zoo。有没有一种方法可

假设我有桌上食物、桌上酒吧和桌上动物园。 foo有一个成员栏,它们之间有一对一的关系。 酒吧有一个列表,它们之间有一对多的关系

读取条形图时,列表不会自动初始化(即它是惰性的) 使用hql,我想得到一个在bar中初始化了zoo的foo对象列表

因此,在以下方面:

select f from Foo f
left join fetch f.bar.zoo
这显然抛出了一个异常,我知道这是因为返回的所有者是Foo而不是Bar。尽管如此,我需要Foo而不是Bar,我需要初始化zoo。有没有一种方法可以在一个查询中实现这一点

谢谢
吉尔

以下方法应该有效:

FROM Foo f
  LEFT JOIN FETCH f.bar b
  LEFT JOIN FETCH b.zoos

我的HQL生锈了,但在我看来还可以。您应该至少发布异常的堆栈跟踪。尝试过,但现在我得到一个空指针异常。在第二个左边的join fetch。@Jill请显示允许复制的映射。我尝试了一些实体,得到了预期的结果。