javax.persistence.TransactionRequiredException:

时间:2016-03-07 10:52:57

标签: java exception jpa persistence

我正在尝试使用JPA Controller方法从表中删除记录,但是我得到以下异常..

“javax.persistence.TransactionRequiredException:如果实体管理器尚未加入当前事务,则无法调用需要事务的方法。”

以下是我正在尝试运行的代码

 public void deleteRulesofType(String ruleType) throws NotSupportedException, SystemException, Exception {

    EntityManager em = getEntityManager();
    try {
        utx.begin();
        Query query = em.createQuery("delete from  RulesFound r where r.ruleType=:ruleType");
        query.setParameter("ruleType", ruleType);
        query.executeUpdate();
        em.flush();
        utx.commit();
    } catch (Exception e) {
        try {
            utx.rollback();
        } catch (Exception re) {
            throw new RollbackFailureException("An error occurred attempting to roll back the transaction.", re);
        }
        throw e;
    } finally {
        em.close();
    }

}

非常感谢任何帮助:)

1 个答案:

答案 0 :(得分:1)

尝试通过调用

让您的实体经理加入交易
em.joinTransaction();