2014-05-14 39 views
0

我是新來的休眠,我有一個問題在堅持。在用戶類別中,它有first_name,last_name,gender,address等,我只希望Address列字段在用戶的gender僅等於Female時忽略對錶的更新。我搜索了一下,發現我可以用@Transient來忽略更新,但是我想要的是當某些條件滿足時忽略,如果沒有,我想包括Address持久。休眠在某些情況下忽略字段

hibernate有可能嗎?

回答

1

忽略基於另一個字段的值的字段而不是Data Access Layer的響應度。它應該是Business Logic Layer的責任。

當您的條件得到滿足時,只需擦除舊地址的新地址,然後再繼續。

+0

感謝您的回答..那麼選擇怎麼樣?是否可以忽略條件選擇該字段? – Raymond

+0

@Raymond我不明白爲什麼你會這樣做,但你仍然可以在選擇後將字段設置爲null,或者逐個選擇字段並使用這些字段手動構建對象。 – KeatsPeeks

1

一個可能的方法是修改地址欄的setter。像

public void setAddress(String address) { if(!this.gender.equals("female") { this.address = address; } }

所以,當你堅持下去的User地址值不會有適合女性用戶使用。

相關問題