通过急切提取来休眠重复值

时间:2014-03-15 14:05:22

标签: java hibernate jpa persistence

我有一些实体需要使用eager fetch。在浏览此处之后,将fetch类型设置为eager时,似乎这是一个已知问题。

有没有办法消除重复?我无法使用集合,因为我在一些equals()和hashCode()中遇到了很多问题(其中一些元素是唯一可以识别它们的原因是id,而不是业务键)。 / p>

现在我正在使用PrePersist和PostLoad消除重复项,例如

@PostLoad
@PrePersist //FIXME best way to handle this?
public void removeDuplicates() {
    Set<Role> noDupesRoles = new HashSet<Role>();
    noDupesRoles.addAll(roles);
    roles.clear();
    roles.addAll(noDupesRoles);
}

这显然阻碍了性能,我想知道是否有更好的方法来返回没有重复的列表。

0 个答案:

没有答案