Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设,我们有一个 User ;一个用户可以有多个孩子。
现在,当我插入一个孩子时;我调用user.addChild()以便更新位于 JVM 中的用户对象.. 虽然实际上用户的数据库记录没有任何变化,因为它是 OneToMany。
user.addChild()
当我检查 SQL 时;连同插入到孩子中;另一个查询被触发:
update User set version=? where id=? and version=?
任何想法为什么?以及如何解决这个问题
如果这是双向关系的拥有方,则它的行为与指定的一样。默认情况下单向一对多使用连接表,然后版本应该更新。在规范中,这是用以下词语来讲述的:
所有非关系字段和属性以及 实体拥有的所有关系都包含在版本检查中。 ... 这包括在连接表中维护的拥有关系。