【发布时间】:2016-11-28 10:55:55
【问题描述】:
我有两个类,Document 类和Role 类以及它们之间的@ManyToMany 关系。
我尝试获取一个文档,然后我获取了所有角色并用它们填充文档集。
现在,当我更新文档集(插入新角色或删除现有角色)然后通过 session.update(doc) 更新文档对象时,Hibernate 不会对 @ManyToMany 表执行任何插入或删除语句,它只更新文档和角色记录。
注意:两个表中的lazy 属性都是“lazy = true”。
【问题讨论】:
-
请提供Bean的定义和涉及的代码。
-
对此我很抱歉,我的代码使用了很多通用函数来从数据库中获取记录,而且很复杂。但要点是:我想获取一个文档并用当前角色填充它的集合,然后更新这个集合,当我更新这个文档时,我想将此更新反转到@ManyToMany 表中,我该怎么做?我必须在“hbm”文件中执行特定要求吗?是否还需要用文档填充集合的角色?因为我必须在两个表中都保持lazy = true。非常感谢。
-
我知道在某些项目中可能会很复杂,但调试问题的一个好方法是编写一个生成问题的小示例。这有助于清楚地了解真正的问题和事件无法导致解决方案,适合在寻求帮助时提供信息。为了帮助您,我们需要查看在您保存实例的位置截取的代码。
-
您是否检查过您的 doc 是否已附加到会话中?
-
我解决了这个问题,这是因为我不知道双向和单向多对多关系之间的区别。我很抱歉,因为我无法以正确的方式介绍问题,但它终于解决了。非常感谢。
标签: java database hibernate many-to-many