在 Hibernate 中使用注释在集合级别进行预加载

Eager loading at Collection level with Annotation in Hibernate

可以在集合级别实现 aggressive/eager 加载。

我知道使用 XML

在集合级别进行预加载

但是我如何在集合级别使用注释实现相同的效果。?

学生的坚持Class

这里我需要为 Collection Type semails 字段做预加载。

可以在注解@ElementCollection中设置fetch类型:

@ElementCollection(fetch=FetchType.EAGER)

如果您使用的是休眠模式,则可以将 @Fetch 注释与 FetchMode.JOIN 结合使用。这将使休眠使用 join 和 fetch collection 以及单个 select 查询加入您的元素 collection table。 确保您的 collection 有两个注释:

@ElementCollection(fetch=FetchType.EAGER)
@Fetch(FetchMode.JOIN)