java - Hibernate 在保存时创建新行而不是更新

标签 java mysql spring hibernate

我正在使用 MySQL + spring + hibernate。

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

sessionFactory.getCurrentSession()
        .save(configTable);

但是下面这段代码会更新

sessionFactory.getCurrentSession()
        .update(configTable);

我不确定为什么上面的代码在表中创建了一个新行,据我所知,它在两种情况下都应该更新, 知道我会遗漏什么吗?或者您需要什么信息来帮助我跟踪问题...

最佳答案

您需要使用 saveOrUpdate() session 方法作为:

sessionFactory.getCurrentSession().saveOrUpdate(configTable);

关于java - Hibernate 在保存时创建新行而不是更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30473707/

相关文章:

java - java中如何通过引用传递对象?

java - 使用 Hibernate 加载表中的所有实体会导致应用程序崩溃

java - 如何使用先前在 mySQL 和 Android PHP 中选择的列表名称下拉表的所有行

c# - 无法在 Visual Studio 中打印异常字符串

java - 使用 AES/ECB128/PKCS5Padding 的密码不断抛出 "No such algorithm"异常

java - 从顺序集合中获取随机元素

php - 如何过滤函数参数

java - Spring Bean 属性文件

java - Spring Security 登录表单

java - 如何使用 spring-jdbc 在 Oracle 存储过程中使用 IN OUT 参数?