2013-07-29 116 views
0

我在我的应用程序中有两个遗留表(人,汽车)。其中之一是Person。JPA onetomany映射不同值

@Entity 人

@OneToMany 收集车。

现在车表有三列(id,carid,personid)。理想情况下,carid应该是主键(假设一个人只有一辆车)。但在我的遗产表ID是主键。因此,多个记录插入到表中为相同的人物和carid(一个错误,需要修复)

但我的问题是有一种方法,我可以检索不同的(personid + carid),当我打电话给person.getCars()?基本上我不想在我的person.getCars()集合中重复条目

我正在使用jpa2命名查询。 从Person p选择p; p.getCars()大小() - 检索汽车名单(这将返回重复也)

JPA提供商 - 冬眠

回答

0

你可以使汽车集合Set,并确保汽车具有良好的equals()hashCode()方法,这样的设置将不会包含重复的汽车。