如何返回与 JPA 中的父级有关系的实体列表?
我有一个 User 实体,该实体在名为 的属性上具有 @OneToMany 映射pets
。子实体的类型为 Pet。这只是一个单向的关系。
如何在 JPA 中编写一个返回给定用户的所有宠物的联接?
所以你有几个选择。
您可以使用以下注释:
@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,而宠物表会有某种 id 给链接的用户。
所以我们会做以下
Select * from user where user_id = ?;
这基本上会给你用户对象
Select * from pet where owner_user_id = ?
这基本上会为您提供属于该用户的所有宠物。
然后你可以自己填充你的对象。
我不是 100% 确定你的桌子是什么样子,但我希望从我会做的角度来看它。