Uwe*_*ner 11 java spring transactions spring-data-jpa
我在Spring服务中存在持久性问题.休息控制器R接收请求,并通过一些代码层以复杂的方式调用服务S. S中的服务方法声明一个事务; 这应该是第一次启动交易.但是服务的行为就像之前已经启动的事务一样,并且我的一些数据对象将成为会话的一部分(他们不能这样做).如何确定交易是否已处于活动状态?我试图注入EntityManager和/或JpaTransactionManager; 但两者似乎没有任何帮助.
如何检查我是否在交易中?
在我寻找可能的嫌疑人的所有这些层次之前,我想确定这一点.
Myk*_*nko 21
您可以使用检查事务是否处于活动状态TransactionSynchronizationManager.isActualTransactionActive().但是你应该在执行服务方法之前调用它.
您还可以使用获取当前事务的状态
TransactionStatus status = TransactionAspectSupport.currentTransactionStatus();
Run Code Online (Sandbox Code Playgroud)
此外,对您而言,最重要的一点是启用事务记录.
log4j.logger.org.hibernate.transaction=DEBUG,R
log4j.logger.org.springframework.transaction=DEBUG,R
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6819 次 |
| 最近记录: |