hibernate在保存而不是更新时创建新行

时间:2015-05-27 05:16:10

标签: java mysql spring hibernate

我正在使用mysql + spring + hibernate。

当我执行以下代码时,它会创建一个新行:

sessionFactory.getCurrentSession()
        .update(configTable);

但是下面的代码会更新

{{1}}

我不确定为什么上面的代码在表格中创建了一个新行,它应该根据我的理解更新两种情况, 知道我能错过什么吗?或者您需要什么信息来帮助我跟踪问题......

由于

2 个答案:

答案 0 :(得分:1)

您需要使用 saveOrUpdate()会话方法:

sessionFactory.getCurrentSession().saveOrUpdate(configTable);

答案 1 :(得分:1)

更新时通过实体主键进行更新。

确保您的实体具有此注释以进行保存和更新。

@org.hibernate.annotations.Entity(dynamicInsert = true, dynamicUpdate = true)