@Singelton
class A {
@Resource
private TrsnactionSynchronizationRegistry tsr;
@TransactionAttribute(TransactionAttributeType.Required)
method () {
// here tsr.getTransactionStatus() is 0 means active
EntityClass entity = new EnityClass();
em.persist(entity);// Duplicate Key exception
em.flush();
// here tsr.getTransactionStatus() is 1 means markedForRollback;
}
在ejb单一化bean中,使用容器管理的事务并按照上面的代码休眠。由于重复键异常而运行em.persist(entity)后,该事务被标记为回滚。但是我想保持交易活动,如何避免交易或将交易状态更改为活动。