我正在尝试获取与一个犬舍实体相关的狗实体列表。
狗和狗窝之间存在多对一
关系,即一个狗窝可以有很多只狗,但一只狗只能有一个狗窝。
KENNEL_ID 是 DOG 表中的外键
。
问题是狗舍没有附加狗列表,所以我不能做一些简单的事情:
List<Dogs> allDogsInOneKennel = kennel.getAllDogs();
但是对于狗实体我可以:
dog.getKennel();
有没有一种方法可以让我回溯以获取与一个犬舍关联的所有狗?
狗窝实体:
@Entity
@Table(
name = "KENNEL"
)
public class Kennel {
@Id
private String id;
@Column(
location = "LOCATION"
)
private String location;
public Kennel() {
}
//getters setters
}
最佳答案
有两种方法:
1 - 就像您在 Dog 类中声明 @ManyToOne 一样,您可能希望在 Kennel 类中声明 @OneToMany 关联:
@OneToMany(mappedBy="kennel", cascade = CascadeType.ALL)
private Set<Dog> dogs = new HashSet<>();
(mappedBy="*",*代表Dog类中@ManyToOne的属性名称)。
2 - 如果您不想执行上述操作,那么您别无选择,只能使用 DAO/存储库层从数据库中检索狗舍的狗列表。
关于java - 如何在没有 getter 的情况下获取附加到实体的实体列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35946747/