5

回滚容器管理的 JTA 事务的事务的正确方法是什么?

我理解这一点:调用 entityManager.getTransaction() 时出现 EJBException ,我无法获取事务实例。我在这里阅读了一个解决方案,但我不确定这是否正确。

我也知道,如果我抛出异常,事务将被回滚。

但我的问题是:如果我想(必须)使用容器管理EntityManager,那么在其中回滚事务的正确方法是什么?

4

1 回答 1

7

Code Ranch 上的答案是正确的,你必须使用SessionContext

@Resource
private SessionContext ctx;

//and then in method
if(fail) {
    ctx.setRollBackOnly(); 
}

另请参阅这篇文章

于 2013-02-04T12:11:48.043 回答