我有一个问题,我认为应该很常见,但我找不到答案。hibernate @ManyToMany双向渴望提取
我有2个对象:组和用户。我的课是这个样子:
class Group
{
@ManyToMany(fetch = FetchType.EAGER)
List<User> users;
}
class User
{
@ManyToMany(fetch = FetchType.EAGER)
List<Group> groups;
}
现在,当我尝试从数据库中获取用户它把它的所有组和所有组将其所有的用户等。最后,我得到了一个stackoverflow例外。
我该如何解决这个问题,仍然有我的双向关联和到达列表中的对象的能力?
是的。同样的事情发生。我可以理解,这是有道理的b/c休眠需要为每个列表带来所有列表对象,并且它是一个无限循环。我的问题是,如果有可能限制休眠带来的对象的深度(类似fetch_max_depth,但对于多对多)。 – refaelos 2010-10-21 12:49:16
@Rafa实际上,我希望Hibernate能够检测周期并做适当的事情(但我没有花时间来测试它)。另一方面,我不能说这种急切的加载多对多看起来是个好主意。 – 2010-10-21 13:02:49