mysql - Spring Roo - 多对多关系在每次更新时删除和插入 - 如何更改此行为

标签 mysql spring hibernate jpa spring-roo

我创建了两个实体。 实体 BOOK、实体 AUTHOR 具有多对多关系。 在数据库中,我得到了表 [book,author, book_author]。 表book_author映射了多对多关系。

当我更新一本书的作者时,book_author 中的所有相关关系记录 被删除然后重新插入。 有没有办法改变这种行为以根据需要进行更新,而不需要执行 删除并重新插入。

没有手动进行任何修改。所有代码都是用ROO完成的。

最佳答案

如果使用“List”作为集合来保持关系,这是默认行为 在实体层面。相反,我们可以使用“Set”来进行更新和删除 必要时无需删除并重新插入。

这在下面的文章中有清楚的解释。 http://assarconsulting.blogspot.com/2009/08/why-hibernate-does-delete-all-then-re.html

关于mysql - Spring Roo - 多对多关系在每次更新时删除和插入 - 如何更改此行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18942445/

相关文章:

java - 添加 <mvc :annotation-driven> in applicationContext. xml 时出错

java - 如何强制 Spring beans 的原型(prototype)范围

java - Spring MVC 404 错误

java - Hibernate命名查询抛出ORA-00979 : not a GROUP BY expression

c# - 从 C# 应用程序连接到 mySQL 数据库时出错

mysql - Insert INTO MySQL FROM 另一个表

mysql - 哪些 Hibernate 查询会命中第二层缓存?

java - 如果数据存在则 hibernate 并保存正确的外键

Python打印SQL语句结果

php - 排序 table 锯表加载而不仅仅是点击