在我的方法中,@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
有时会发生org.eclipse.persistence.exceptions.DatabaseException
由于SQLException
. 我捕捉到这个异常并通过另一个数据库查询来处理这种情况。但是,此查询未通过,因为由于异常, setRollbackOnly 已自动设置,此时我无法再提交事务。
在 Java SE 中,我会做一个明确的
manager.getTransaction().rollback();
manager.getTransaction().begin();
但是在应用程序服务器中,这当然是行不通的。
在这种情况下,我能否以某种方式让我的数据库更改提交?