我遇到了以下问题。 A 类从数据库中检索一些对象,这些对象本身就是可运行的,并在线程池中运行它们。它们需要在运行时更新其状态(它们更新在其上注册的监听器)。问题是它们在实体处于分离状态时访问延迟加载的字段(因为事务仅覆盖主线程) - 所以当然有异常(exception)(调用方法时发生 com.sun.jdi.InitationException )。我想注释每个实体的运行方法将不起作用,因为该实体已经加载到不同的事务中,对吗?遇到这种情况该如何应对呢?
谢谢!
最佳答案
无法访问分离实体中的延迟加载字段,您需要先附加该实体。
通过调用 session.merge() 将实体附加到 session 或在尝试访问延迟加载字段之前使用entityManager.merge()。
关于java - 分离实体和延迟加载字段 - 工作线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20452563/