0

我的应用程序中有两个旧表(Person、Car)。其中之一是人。

@Entity 人

@OneToMany 收藏车。

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

但是我的问题是,当我调用 person.getCars() 时,有没有一种方法可以为一个人检索不同的(personid+carid)?基本上我不想在我的 person.getCars() 集合中有重复的条目

我正在使用 jpa2 命名查询。从人 p 中选择 p;p.getCars().size() - 检索汽车列表(这也返回重复项)

JPA 提供程序 - 休眠

4

1 回答 1

1

您可以将 cars 集合设为 a Set,并确保 Car 具有良好的equals()hashCode()方法,因此该集合不会包含重复的汽车。

于 2013-07-29T14:43:40.413 回答