相关疑难解决方法(0)

如何测试延迟加载的JPA集合是否已初始化?

我有一个从外部代码获取JPA实体的服务.在这个服务中,我想迭代一个延迟加载的集合,该集合是该实体的一个属性,以查看客户端是否相对于DB中的当前版本添加了一些内容.

但是,客户端可能从未触及过该集合,因此它仍未初始化.这导致众所周知

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.example.SomeEntity.

当然,如果客户从未触及过该集合,我的服务无需检查它是否有可能发生变化.问题是我似乎无法找到一种方法来测试集合是否已初始化.我想我可以打电话size()给它,如果它抛出LazyInitializationException我会知道,但我试图不依赖于这样的模式.

isInitialized()某处有某种方法吗?

java hibernate jpa lazy-loading

46
推荐指数
2
解决办法
3万
查看次数

标签 统计

hibernate ×1

java ×1

jpa ×1

lazy-loading ×1