hibernate - 为什么 JPA 不为延迟加载的关系提供 loadChildren() 方法?

标签 hibernate jpa lazy-loading

有时我想将关系定义为延迟加载,因为 90% 的时间我不想要子实体,但在某些情况下也有可能立即获得整个层次结构。我不想通过使用命名查询来实现这一点,因为当我转换为例如时父子层次结构很有用JSON 格式。目前我的肮脏黑客是调用 .getChildEntities().size() 以强制在同一事务中进行延迟加载。

有没有更好的办法?

最佳答案

当然取决于 JPA 实现。一些(大多数)将使用您引用的方法调用加载所有内容,但出于内存管理的原因,有些可能会发出 COUNT(*) 查询以获取大小(不想在有很多元素的情况下加载所有元素)

--安迪 ( DataNucleus )

关于hibernate - 为什么 JPA 不为延迟加载的关系提供 loadChildren() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1513701/

相关文章:

java - Hibernate @Formula 不起作用

jpa - 如果父级不存在,则 spring 数据保存仅创建级联子级

javascript - 当我导航到主包不加载的嵌套路由时使用 React.js 延迟加载

ios - iOS 5 ARC懒惰图像加载库

reactjs - 为什么我的 react-lazyload 组件不工作?

java - 你是直接通过http传递hibernate/jpa实体对象还是有更好的选择?

hibernate - JPA/Hibernate Join 和 Fetch 单列

java - 如何使用 JPA 将 MySQL 枚举映射到 Java 枚举?

java - 将对象分类到桶中如何表述为有效的 JPQL 表达式?

java - 使用联接定义 JPA 存储库 native 查询