我有一个表,其中有 14 列。现在我有一个与表相对应的对象,其中只有 5 个值需要更新。
我正在使用 saveOrUpdate 方法来保存/更新行。问题是,当我使用此方法更新这 5 列时,所有其他 9 列值都设置为 null。
一种解决方案是我编写更新 sql 查询来执行相同的操作,但我想使用 Hibernate API 的而不是 sql 查询。
有什么办法可以实现这一点吗?
最佳答案
Foo objectToUpdate = (Foo) session.get(Foo.class, idOfObjectToUpdate);
objectToUpdate.setField1(newValue1);
objectToUpdate.setField2(newValue2);
无需调用 saveOrUpdate()
或 merge()
:对象已附加,因此所有内容都会在事务结束时刷新并提交。
关于java - 更新 hibernate 中的一些列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11815104/