如何在JPA中返回与父级有关系的实体列表?
我有一个User实体,在名为pets
的属性上有一个@OneToMany映射。子实体属于Pet类型。这只是一种单向关系。
如何在JPA中编写一个返回给予用户所有宠物的联接?
答案 0 :(得分:0)
所以你有几个选择。
您可以使用以下注释:
@ManyToOne
@JoinColumn
这就是你如何使用它。
public class User
{
// your standard fields / columns in database
@OneToMany (Fetch can be of eager/ lazy)
@JoinColumn (name="column to join on", referencedColumnName="column to join on in parent class")
private List<Pet> pets;
}
public Class Pet
{
//data fields
}
当您查询用户对象时,实际上会发生宠物列表。
使用JPA查询数据库。
所以我猜你的用户会有某种id,而pet表会有一些ID链接到用户。
所以我们会做以下
Select * from user where user_id = ?;
这基本上会为您提供用户对象
Select * from pet where owner_user_id = ?
这基本上会为您提供属于该用户的所有宠物。
然后你可以自己填充你的对象。
我不是百分之百确定你的桌子是什么样的,但是我希望能够从我的观点来看它。“