2013-07-29 150 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()方法,這樣的設置將不會包含重複的汽車。