1

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

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

检查片段以了解我的问题。在此处输入图像描述

4

2 回答 2

0

你唯一需要做的就是

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

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

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

于 2012-12-14T07:23:34.157 回答
-1

我建议您在对象的 setPin(String pin) 方法中处理逻辑。

你可以这样做。

 public void setPin(String pin){
   if(pin != null && !pin.isEmpty()){
        this.pin = pin;
     }
 }
于 2012-12-14T06:17:20.127 回答