TL; DR:我是否需要围绕Quartz作业调用手动设置Hibernate会话?
我在Spring中运行石英调度程序,但在Quartz作业中使用Hibernate时会有非常奇怪的行为。
我有JPA存储库,如下所示使用它们可以正常工作。
Reservation reservation = reservationRepo.findOne(resId);
但是,当我尝试使用此实体时,我得到后续异常
User owner = reservation.getRoom().getOwner();
例外:
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
如果我将spring记录设置为TRACE
,我会看到一些JPA / Transaction / Thread魔法,但似乎所有已经对所使用的bean进行了调整,并且没有托管的hibernate会话在线程上。
我是否需要以某种方式围绕Quartz作业调用创建一个Hibernate会话?