我刚接触休眠,并且我遇到了问题。在用户类中,它有first_name
,last_name
,gender
,address
等,我只希望Address
列字段在用户&#时忽略对表的更新39; s gender
仅等于Female
。我用Google搜索并发现我可以使用@Transient
来忽略更新,但我想要的是在满足某些条件时忽略,如果不满足,我想将Address
包含在persist中。
是否可以在休眠状态下进行?
答案 0 :(得分:1)
忽略基于另一个字段值的字段而不是Data Access Layer的责任。它应该由Business Logic Layer负责。
当您的条件满足时,只需删除旧地址的副本,然后再保留。
答案 1 :(得分:1)
执行此操作的可能方法是修改地址字段setter
。喜欢
public void setAddress(String address) {
if(!this.gender.equals("female") {
this.address = address;
}
}
因此,当您坚持时,User
地址值不适合女性用户。