我有两个班级,Document
班级和Role
班级,以及他们之间的@ManyToMany
关系。
我试图获取一份文件,然后我获得了所有这些角色并用它们填写了文档集。
现在,当我更新文档集(插入新角色或删除现有角色)然后通过session.update(doc)
更新文档对象时,Hibernate不会在{{1}中执行任何插入或删除语句} table,它只更新文档和角色记录。
注意:两个表中的lazy属性都是“lazy = true”。
答案 0 :(得分:0)
问题是我使用双向@ManyToMany
关系(这意味着文档具有角色集,角色具有文档集),这样当我创建文档并向其添加一些角色时,即使我必须将此文档添加到集合中的每个角色。
当我使用单向@ManyToMany
关系(这意味着只有一方有一组其他类)时,我只是用一些角色填充文档集。
这篇文章非常有用
https://howtoprogramwithjava.com/hibernate-manytomany-unidirectional-bidirectional/