我在使用saveOrUpdate()
方法时遇到问题:
我有表user
,由Hibernate自动生成:
________ | User | |________| |Id | |Name | |Address | |________|
我可以成功保存[Mohan, BTM]
- 创建行[1, Mohan, BTM]
。
但是,当我更新数据库[1, Mohan, EC]
中的相同记录时,而不是更新第1行,而是创建一个新行:[2 , Mohan, EC]
答案 0 :(得分:1)
它正在创建新记录,因为它有不同的id,我假设像hibernate映射
<id name="id" column="id">
<generator class="native"></generator>
</id>
当对象具有不同的id时,它将被视为新记录。上面的映射会自动生成一个id,当你尝试更新同一个对象时,你必须显式设置对象id。