java - 使用 Hibernate 仅更新特定列

标签 java hibernate struts2 sql-update

我使用struts2作为前端,使用hibernate 3.0作为ORM。我想根据所选的下拉列表更新客户地址。除PIN 之外,所有字段均为必填字段。如果用户正在更新地址并将 PIN 保留为空白,则 PIN 也会随着状态等进行更新。 如果 PIN 为空,我不想更新它。如何实现这一点,Hibernate 是否有任何更新特定列的东西,如下所示。

if(getPin()==null||getPin()=="")
{
    @update(false)  //make update false
}

检查片段以了解我的问题。 enter image description here

最佳答案

你唯一要做的就是

1) 加载客户 2)将所有更改的字段复制到仍然托管的对象中,除了 pin 为空时

简单地将分离的实体与空字段合并是不够的,因为 hibernate 无法判断您是否要删除它。

考虑使用像 Dozer 这样的框架。

关于java - 使用 Hibernate 仅更新特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13873589/

相关文章:

java - 为实体生成不可预测的随机@Id

hibernate - Hibernate中Set和Bag的区别

hibernate - Hibernate HQL createQuery()list()类型强制转换为直接建模

java - 如何在 java 中运行 python

java - Java 中的 HTML 解析?

java - Dropwizard 嵌套事务

java - 使用 Struts 显示带有外语字母的日期

java - 如何使用Struts2验证进行条件验证?

java - Android,ViewClass有泄漏窗口

java - 从 C++ 创建一个 android.graphics.Bitmap