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

时间:2013-12-08 10:53:32

标签: java hibernate entity

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

谢谢!

1 个答案:

答案 0 :(得分:2)

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

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