当我尝试运行此代码,我得到这个错误。
错误:
javax.persistence.TransactionRequiredException:executeUpdate的不支持用于通过容器管理事务的EntityManager的非事务性访问获得的查询对象
代码:(_ut是UserTransaction对象)
公共无效setMainCategory(整数DEPTID,整型CATID){
try {
Query setmain = _entityManager.createNamedQuery("Category.setAsMain");
Query removeMain = _entityManager.createNamedQuery("Category.removeMain");
setmain.setParameter("categoryId", catId);
Department d;
d=_entityManager.find(Department.class, deptId);
removeMain.setParameter("department", d);
_ut.begin();
removeMain.executeUpdate();
_ut.commit();
_ut.begin();
setmain.executeUpdate();
_ut.commit();
} catch (Exception e) {
e.printStackTrace();
}
}
我有一个在执行相同的其他功能,他们不抛出这个错误。
任何建议将不胜感激。
谢谢。