0
@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 中,按照上面的代码。由于 Duplicate key Exception 运行 em.persist(entity) 后,事务被标记为回滚。但我想保持交易活跃,我怎样才能避免它或将交易状态更改为活跃。

4

0 回答 0