我使用struts2作为前端,使用hibernate 3.0作为ORM。我想根据选定的下拉列表更新客户地址。除 PIN 外,所有字段都是强制性的。如果用户正在更新地址并将PIN保留为空白,则PIN也会更新状态,依此类推。 如果它是空白的,我不想更新 PIN 。如何实现这一点,Hibernate是否有任何更新特定列的内容。
if(getPin()==null||getPin()=="")
{
@update(false) //make update false
}
检查摘要以了解我的问题。
答案 0 :(得分:0)
你唯一需要做的就是
1)加载客户 2)将所有更改的字段复制到仍然管理的对象中,除非是空的
仅仅将分离的实体与空字段合并是不够的,因为hibernate无法判断您是否要删除它。
考虑使用类似Dozer的框架。
答案 1 :(得分:-1)
我建议你在对象中处理setPin(String pin)方法中的逻辑。
你可以这样做。
public void setPin(String pin){
if(pin != null && !pin.isEmpty()){
this.pin = pin;
}
}