有时我想将关系定义为延迟加载,因为 90% 的时间我不想要子实体,但在某些情况下也有可能立即获得整个层次结构。我不想通过使用命名查询来实现这一点,因为当我转换为例如时父子层次结构很有用JSON 格式。目前我的肮脏黑客是调用 .getChildEntities().size() 以强制在同一事务中进行延迟加载。
有没有更好的办法?
最佳答案
当然取决于 JPA 实现。一些(大多数)将使用您引用的方法调用加载所有内容,但出于内存管理的原因,有些可能会发出 COUNT(*) 查询以获取大小(不想在有很多元素的情况下加载所有元素)
--安迪 ( DataNucleus )
关于hibernate - 为什么 JPA 不为延迟加载的关系提供 loadChildren() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1513701/