我倾向于使用List
,因为Criteria
会返回List
,因此我的代码更清晰,因为我不需要进行转换。
我这样做..
@OneToMany(cascade= {CascadeType.PERSIST, CascadeType.REMOVE}, mappedBy="parent")
@Column(name="PARENT_ID")
public List<Menu> getChildMenus() {
return childMenus;
}
如果我在那里使用Set
,在我的DAO的某处,我必须先将Criteria
返回的结果转换为Set
。
我想知道使用List
他们的方式可能会产生什么影响。
答案 0 :(得分:5)
使用Set作为子表具有主键,使得子项只能在父项中一次。如果使用列表,列表中可能存在重复的子项,并且无法将其保存到数据库中。