hibernate - JPA 等效于 Hibernate.initialize 的命令

标签 hibernate lazy-loading jpa-2.1

我有一个 Lazy 集合,我想在我的服务/ Controller 中随意初始化。此刻我可以做到:

Hibernate.initialize( myEntity.getListOfThings() );

此命令依赖于 hibernate ,并且不会使 JPA 的实现透明。有没有一种 JPA 优雅的方式来做到这一点?

最佳答案

不,没有 JPA 等价物。您可以学习if the object is loaded而不是使用两个选项之一,要么在对象仍然附加到持久性上下文时访问属性,我通常看到的是调用 size,只是为了初始化集合

myEntity.getListOfThings().size();

或使用查询进行初始化。

关于hibernate - JPA 等效于 Hibernate.initialize 的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29368563/

相关文章:

java - 缓存整个表

java - 无法将名称 [org.hibernate.spatial.dialect.postgis.PostgisDialect] 解析为策略 [org.hibernate.dialect.Dialect]

java - JPA 和枚举表(又名 "the one true lookup table")

java - 作为关系所有者的意义是什么?CASCADE 如何与 JPA 中的双方合作?

hibernate - package-info.java 中的 @GenericGenerator 不工作 JPA

java - 从 Hibernate 文档了解双向关系

hibernate - Hibernate 和 JPA 有什么区别?

java - Hibernate 无法解决属性错误

java - 当 fetch=FetchType.LAZY 时 Hibernate 断开代理

Angular 7 :- lazy loading routing issue