如何更改标记为回滚的容器托管事务的状态

时间:2018-06-30 19:33:21

标签: hibernate transactions ejb-3.0 container-managed

@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)后,该事务被标记为回滚。但是我想保持交易活动,如何避免交易或将交易状态更改为活动。

0 个答案:

没有答案