I get this error when I try to run this code.
Error:
javax.persistence.TransactionRequiredException: executeUpdate is not supported for a Query object obtained through non-transactional access to a transactional container-managed EntityManager
Code: (_ut - UserTransaction object)
public void setMainCategory (Integer deptId, Integer 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(); } }
I have other functions that are identical in implementation, and they do not throw this error.
Any suggestions are welcome.
Thanks.
source share