我无法equals()
在 POJO 中编写正确的函数以与 hierbante 一起使用。我的主要问题是列表。
例如,我有一个实体Request
,它有一个Person
s列表
@ManyToMany(cascade = CascadeType.ALL)
@LazyCollection(LazyCollectionOption.FALSE)
@JoinTable(name = "JOIN_TABLE_REQUEST_TO_PERSON", joinColumns =
@JoinColumn(name = "REQUEST_ID"), inverseJoinColumns =
@JoinColumn(name = "PERSON_ID"))
private List<Person> proxyList = new ArrayList<Person>();
现在我使用生成的 Netbeans 7.3equals()
并为此列表生成代码:
...
if (this.proxyList != other.proxyList && (this.proxyList == null || !this.proxyList.equals(other.proxyList))) {
return false;
}
...
但是,当我将 Persons 添加到列表时,这不能正常工作。我不得不将此代码更改为:
...
if (!this.proxyList.containsAll(proxyList)) {
return false;
}
...
应该如何正确完成?你有任何其他为hibernate编写equals的最佳实践吗?