我的应用程序中有两个遗留表(Person,Car)。其中一个是人。
@Entity 人
@OneToMany 收集汽车。
现在汽车表有三列(id,carid,personid)。理想情况下,carid应该是主键(假设一个人只有一辆车)。但在我的遗留表中,id是主键。因此,为同一个personid和carid插入了多个记录(一个需要修复的bug)
但我的问题是,有一种方法可以在我调用person.getCars()时为一个人检索不同的(personid + carid)?基本上我不希望我的person.getCars()集合中有重复的条目
我正在使用jpa2命名查询。 从Person p中选择p; p.getCars()。size() - 检索汽车列表(这也返回重复项)
JPA提供程序 - hibernate
答案 0 :(得分:0)
您可以将汽车收藏设为Set
,并确保汽车拥有良好的equals()
和hashCode()
方法,因此该套装不会包含重复的汽车。