2012-12-14 24 views
1

我使用struts2作爲前端,休眠3.0作爲ORM。我想根據選定的下拉列表更新客戶地址。除PIN之外,所有字段都是強制性的。如果用戶正在更新地址並將PIN碼留爲空白,則PIN也會更新爲狀態等。 我不想更新PIN如果它是空白的。如何實現這一點,Hibernate是否有任何東西來更新特定的列這樣的事情。使用Hibernate更新特定顏色

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

查看關於我的問題的想法的片段。 enter image description here

+0

如果用戶正在更新地址並將PIN碼留爲空白,則PIN也會隨狀態更新等。如果它是空白的,我不想更新PIN碼。這兩個句子似乎矛盾 – Subin

+0

@subin,看用戶是否更新他們的地址,然後他必須選擇州,地區,曼達爾,村莊,這些都是強制性的,但Pin是可選的。如果用戶將Pin留空,假設他以前的pin = 400038在數據庫中,現在他更新地址,那麼pin也更新爲pin =「」 –

+0

好的,現在已經清楚了。你應該試試@null的答案 – Subin

回答

-1

我建議你在你的對象中處理setPin(String pin)方法中的邏輯。

你可以這樣做。

public void setPin(String pin){ 
    if(pin != null && !pin.isEmpty()){ 
     this.pin = pin; 
    } 
} 
+0

謝謝,我會試試。 –

+0

我的||應該 &&。我改變了它。 – Suranga

+0

它不工作,結果是一樣的 –

0

你所要做的唯一事情是

1)加載客戶 2)複製所有更改的字段進還是管理對象,除了引腳當它是空

這是不足以簡單地將分離的實體與空字段合併,因爲hibernate無法分辨是否要刪除它。

考慮使用像Dozer這樣的框架。