我们有一个实体,它有很多 ManyToOne、OneToOne 等关系,它们自己又有一些关系。例如
@OneToMany(targetEntity = Season.class, cascade = {
CascadeType.ALL
})
@JoinColumn(name = "SEASON_ID")
public List<Season> getSeasons(){...}
(我无法改变这一点)。
这些都是延迟加载的(我认为默认情况下),这很好,我们不想改变它。现在我们有一个案例,我们希望通过它的 id 急切地找到整个实体并返回它。
我发现了很多更改实体的建议,以及关于急切加载还是延迟加载更好的讨论,目前这对我没有帮助,因为实体对我们来说是遥不可及的。有没有办法做到这一点,而无需更改实体并且不必调用所有可能的 getter 来初始化惰性实体(因为这些实体太多了)?例如,问题 24573877的答案的答案对我不起作用。
基本上我想说“急切地加载实体,但只是这一次”。目前我正在做return em.find(MyEntity.class, contractId)
(我可以改变这个)。
感谢和问候 Urr4