Java Hibernate:使用实体图时出现MultipleBagFetchException
Hibernate版本4.3.5: 当我试图急切地获取我定义为列表的两个关系时,我经历了一些奇怪的行为。 用普通查询加载实体效果很好,但只要我尝试使用实体图, 我收到一个异常:MultipleBagFetchException:无法同时提取多个行李 所以,我的问题是:为什么会发生这种情况,我如何解决它 我的实体如下所示:Java Hibernate:使用实体图时出现MultipleBagFetchException,java,hibernate,Java,Hibernate,Hibernate版本4.3.5: 当我试图急切地获取我定义为列表的两个关系时,我经历了一些奇怪的行为。 用普通查询加载实体效果很好,但只要我尝试使用实体图, 我收到一个异常:MultipleBagFetchException:无法同时提取多个行李 所以,我的问题是:为什么会发生这种情况,我如何解决它 我的实体如下所示: @Entity @NamedEntityGraph(name = "Person.loadAll", attributeNodes = {
@Entity
@NamedEntityGraph(name = "Person.loadAll",
attributeNodes = {
@NamedAttributeNode(value = "managedPersons", subgraph = "personName"),
@NamedAttributeNode(value = "incidents", subgraph = "incidentNumber")},
subgraphs = {
@NamedSubgraph(name = "personName",
attributeNodes = {
@NamedAttributeNode("name")
}),
@NamedSubgraph(name = "incidentNumber",
attributeNodes = {
@NamedAttributeNode("number")
})
})
public class Person {
private long id;
@ManyToOne
@JoinColumn(name = "managerid")
private Person manager;
@OneToMany(mappedBy = "manager", fetch = FetchType.EAGER)
@OrderBy("name ASC")
private List<Person> managedPersons;
@OneToMany(mappedBy = "caller", fetch = FetchType.EAGER)
@OrderBy("number ASC")
private List<Incident> incidents;
//some more stuff...
}
@实体
@NamedEntityGraph(name=“Person.loadAll”,
属性节点={
@NamedAttributeNode(value=“managedPersons”,subgraph=“personName”),
@NamedAttributeNode(value=“incidents”,subgraph=“incidentNumber”)},
子图={
@NamedSubgraph(name=“personName”,
属性节点={
@名称三角洲(“名称”)
}),
@NamedSubgraph(name=“incidentNumber”,
属性节点={
@名称(编号)
})
})
公共阶层人士{
私人长id;
@许多酮
@JoinColumn(name=“managerid”)
私人经理;
@OneToMany(mappedBy=“manager”,fetch=FetchType.EAGER)
@订购人(“名称ASC”)
私人名单管理人员;
@OneToMany(mappedBy=“caller”,fetch=FetchType.EAGER)
@订购人(“编号ASC”)
私人清单事件;
//还有一些东西。。。
}
看看:你找到解决办法了吗?你有什么消息吗?