HibernateJPA:Update查询(仅更新版本)被触发,即使它根本没有更改
假设我们有一个用户;一个用户可以有多个孩子 现在,当我插入一个孩子;我调用HibernateJPA:Update查询(仅更新版本)被触发,即使它根本没有更改,hibernate,jpa,Hibernate,Jpa,假设我们有一个用户;一个用户可以有多个孩子 现在,当我插入一个孩子;我调用user.addChild(),以便更新JVM中的用户对象。。虽然实际上用户的数据库记录并没有任何变化,因为它是一个文件 当我检查SQL时;随着插入儿童;正在触发另一个查询: update User set version=? where id=? and version=? 你知道为什么吗?以及如何修复此问题,如果这是双向关系的拥有方,则它的行为符合规定。默认情况下,单向一对多使用联接表,然后应该更新版本。在规范中,以
user.addChild()
,以便更新JVM中的用户对象。。虽然实际上用户的数据库记录并没有任何变化,因为它是一个文件
当我检查SQL时;随着插入儿童;正在触发另一个查询:
update User set version=? where id=? and version=?
你知道为什么吗?以及如何修复此问题,如果这是双向关系的拥有方,则它的行为符合规定。默认情况下,单向一对多使用联接表,然后应该更新版本。在规范中,以下文字说明了这一点: 所有非关系字段和属性以及所有关系
版本检查中包括实体拥有的信息。
…
这包括在联接表中维护的自有关系
如果这是双向关系的拥有方,则其行为符合指定。默认情况下,单向一对多使用联接表,然后应该更新版本。在规范中,以下文字说明了这一点: 所有非关系字段和属性以及所有关系
版本检查中包括实体拥有的信息。
…
这包括在联接表中维护的自有关系
您正在使用哪个版本的Hibernate?我记得我以前见过这种行为,它在以后的版本中得到了修复。您使用的是哪个版本的Hibernate?我记得我以前见过这样的行为,在后来的版本中已经修复。