如何正确回滚JTA事务?

5
什么是回滚容器管理的JTA事务的正确方法?
我了解到这一点:调用entityManager.getTransaction() 时出现EJBException,无法获取事务实例。我在这里阅读到一种解决方案,但我不确定是否正确。
我还知道,如果我抛出异常,则会回滚事务。
但我的问题是:如果我想(必须)使用容器管理的EntityManager,那么回滚其中的事务的正确方法是什么?
1个回答

7

Code Ranch上的回答是正确的,您需要使用SessionContext

@Resource
private SessionContext ctx;

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

See also this article.


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接