如何在单个线程中跨多个事务保持EntityManager / Session打开?

时间:2018-04-23 12:49:38

标签: spring spring-boot spring-data

有没有办法阻止spring数据在@Transactional组件中的@Service方法后关闭底层的hibernate会话?我正在编写一个简单的命令行应用程序,它从Web服务读取数据,执行一些处理并写入数据库。有些操作跨越多个实体,必须是事务性的。

但是,我遇到了太多LazyLoadingExceptions。显然,事务提交后,spring会自动关闭hibernate会话。

换句话说,我想要实现的是OpenSessionInView,但对于命令行应用程序。我可以通过使用纯JPA并手动处理实体管理器和事务来实现这一点。但是,我想知道是否有一个解决方案能够利用弹簧数据并仍能实现所需的行为。

0 个答案:

没有答案