java - 分离实体和延迟加载字段 - 工作线程

标签 java hibernate entity

我遇到了以下问题。 A 类从数据库中检索一些对象,这些对象本身就是可运行的,并在线程池中运行它们。它们需要在运行时更新其状态(它们更新在其上注册的监听器)。问题是它们在实体处于分离状态时访问延迟加载的字段(因为事务仅覆盖主线程) - 所以当然有异常(exception)(调用方法时发生 com.sun.jdi.InitationException )。我想注释每个实体的运行方法将不起作用,因为该实体已经加载到不同的事务中,对吗?遇到这种情况该如何应对呢?

谢谢!

最佳答案

无法访问分离实体中的延迟加载字段,您需要先附加该实体。

通过调用 session.merge() 将实体附加到 session 或在尝试访问延迟加载字段之前使用entityManager.merge()。

关于java - 分离实体和延迟加载字段 - 工作线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20452563/

相关文章:

linq - 使用具有外键的 EntityCollection 初始化 List<T>

java - 关于实体中的 Hashcode 和 Equals 以及 toString 方法的问题

java - 当我注册时,Firebase 实时数据库不会更新数据库

java - Hibernate 需要类/表的映射。已经完成了

java - 如何在 Grails 应用程序和 Java 应用程序之间共享 Spring Security 类?

java - Spring中如何使用@Transactional

java - 如何使用 JPA 和 Hibernate 加入两个不相关的实体

java - 是否可以有一个 JDBC 池将只读查询路由到从属 sql 服务器?

java - 如何使用linkedin api获取公司数据?

java - 尝试使用 apache commons 上传文件时出现错误 500。日志显示 java.lang.NoClassDefFoundError