我使用JPA创建了两个表作为人员和地址。我想在这些表之间给出一对多的关系。如果我给出以下
@OneToMany(mappedBy="address",targetEntity=person.class,fetch=FetchType.EAGER)
地址表中的表示它无法正常工作。任何人都可以帮助我吗?
提前致谢。
答案 0 :(得分:0)
在不了解您的架构的情况下,我会猜测您需要什么。
JPA很聪明,知道如何加入你的表,所以如果你在两个表中都有id,你实际上不需要“mappedBy”和“targetEntity”。
您只需按如下方式注释您的课程:(假设您的关系是一个地址有很多人)。
在Address类中:
@OneToMany
@JoinColumn(name="address_id")
public List<Person> getPeople()
{
return people;
}
这会将address_id作为person表中的一个字段来表示其关联的地址。由于您要声明人员JPA将知道的类型列表映射到人员表(只要使用@Entity正确注释Person类)。
答案 1 :(得分:0)
这是一个例子
@ElementCollection
@CollectionTable(name = "NUMBER")
private List<String> number;