Hibernate在某些条件下忽略字段

时间:2014-05-14 02:44:09

标签: java hibernate

我刚接触休眠,并且我遇到了问题。在用户类中,它有first_namelast_namegenderaddress等,我只希望Address列字段在用户&#时忽略对表的更新39; s gender仅等于Female。我用Google搜索并发现我可以使用@Transient来忽略更新,但我想要的是在满足某些条件时忽略,如果不满足,我想将Address包含在persist中。

是否可以在休眠状态下进行?

2 个答案:

答案 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地址值不适合女性用户。