Hibernate JPA:即使根本没有更改,更新查询(仅更新版本)也会被触发

2023-12-26

假设,我们有一个 User ;一个用户可以有多个子级。

现在,当我插入一个孩子时;我打电话user.addChild()这样位于 JVM 中的用户对象就会被更新.. 尽管实际上用户的数据库记录没有任何变化,因为它是 OneToMany。

当我检查SQL时;与插入子一起;一个额外的查询被触发:

update User set version=? where id=? and version=?

有什么想法吗?以及如何解决这个问题


如果这是双向关系的拥有方,则其行为将按指定进行。默认情况下,单向一对多使用 join-table,并且版本应该更新。在规范中,这是用以下文字来说明的:

所有非关系字段和属性以及所有关系
实体拥有的包含在版本检查中。
...
这包括在连接表中维护的自有关系。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hibernate JPA:即使根本没有更改,更新查询(仅更新版本)也会被触发 的相关文章

随机推荐