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