我有一个这样的实体(遗漏任何不必要的代码):休眠 - 实体集合
class Client{
private id;
@OneToMany(mappedBy = "client", fetch = FetchType.EAGER)
private Set<Remark> remarks = new HashSet<Remark>();
//getters and setters
}
我通话清单的客户端= session.createCriteria(Client.class)。如果客户端有多个备注,我会得到多个相同的客户端对象,例如,如果客户端有两个备注,则在列表中有两个相同的客户端。我不认为这是好行为,我错过了什么?
用这段代码很难确定问题。你能发布客户和备注之间的全部关系吗?以及如何初始化客户列表。 – manix
这是预期的行为。看到这篇文章 http://stackoverflow.com/questions/1995080/hibernate-criteria-returns-children-multiple-times-with-fetchtype-eager – nsfyn55