我有一个包含两个列表的实体:
document.onsubmit = () => {
setTimeout(function(){
location.reload();
},99000);
}
我使用了Set类型,因为使用List休眠会产生重复项。由于项目实体已生成ID,并且该ID参与equals方法,因此在加载时效果很好。但是,当我在持久化之前将新元素添加到集合中时,我没有此ID(我将其设置为null)。这样我的固定物品就可以更换了。
实际上,我想在休眠加载实体时使用List保存集合和Set。也许是这样的:
@Entity
@Table(name = "example")
public class Example {
@OneToMany(mappedBy = "example",cascade = CascadeType.ALL)
private Set<Item1> list1;
@OneToMany(mappedBy = "example",cascade = CascadeType.ALL)
private Set<Item2> list2;
}
或者我不知道还有其他解决方案。当项目的两个ID均为null时,覆盖equals方法将返回false-这对我来说不是一个选择(我使用的是Lombok,它会生成很多我不想手动编写的代码)