0

如何返回与 JPA 中的父级有关系的实体列表?

我有一个 User 实体,该实体在名为 的属性上具有 @OneToMany 映射pets。子实体的类型为 Pet。这只是一个单向的关系。

如何在 JPA 中编写一个返回给定用户的所有宠物的联接?

4

1 回答 1

1

所以你有几个选择。

您可以使用以下注释:

@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% 确定你的桌子是什么样子,但我希望从我会做的角度来看它。

于 2013-08-29T17:29:48.807 回答