我正在使用mysql + spring + hibernate。
当我执行以下代码时,它会创建一个新行:
sessionFactory.getCurrentSession()
.update(configTable);
但是下面的代码会更新
{{1}}
我不确定为什么上面的代码在表格中创建了一个新行,它应该根据我的理解更新两种情况, 知道我能错过什么吗?或者您需要什么信息来帮助我跟踪问题......
由于
答案 0 :(得分:1)
您需要使用 saveOrUpdate()会话方法:
sessionFactory.getCurrentSession().saveOrUpdate(configTable);
答案 1 :(得分:1)
更新时通过实体主键进行更新。
确保您的实体具有此注释以进行保存和更新。
@org.hibernate.annotations.Entity(dynamicInsert = true, dynamicUpdate = true)