Spring-没有EntityManager可以用于当前线程的实际事务处理-无法可靠地处理“持久”调用

Spring-没有EntityManager可以用于当前线程的实际事务处理-无法可靠地处理“持久”调用,第1张

Spring-没有EntityManager可以用于当前线程的实际事务处理-无法可靠地处理“持久”调用

我遇到了同样的问题,并为该方法添加了注释,

@Transactional
并且该方法有效。

更新:检查spring文档,默认情况下PersistenceContext看起来是Transaction类型,因此这就是为什么该方法必须是事务性的(http://docs.spring.io/spring/docs/current/spring-framework-reference/ html / orm.html):

@PersistenceContext批注具有可选的属性类型,默认为PersistenceContextType.TRANSACTION。此默认设置是你需要接收共享的EntityManager代理的条件。替代方案PersistenceContextType.EXTENDED是完全不同的事情:这导致所谓的扩展EntityManager,它不是线程安全的,因此不能在并发访问的组件(例如Spring管理的Singleton bean)中使用。扩展的EntityManager仅应用于有状态的组件(例如,驻留在会话中),并且EntityManager的生命周期不依赖于当前事务,而完全取决于应用程序。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5014377.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存