Hi,
NetBeans 11.1.
The code generated by NetBeans for the injection of an EntityManager is
not adapted to the CMT (Container Managed Transaction) mode. "Generate"
menu for "Insert code..." > "Use Entity Manager...".
The generated code:
@PersistenceContext(unitName = "xxx")
private EntityManager em;
@Resource
private javax.transaction.UserTransaction utx;
public void persist(Object object) {
try {
utx.begin();
em.persist(object);
utx.commit();
} catch (Exception e) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception
caught", e);
throw new RuntimeException(e);
}
}
It should be
@PersistenceContext(unitName = xxx")
private EntityManager em;
public void persist(Object object) {
em.persist(object);
}
Richard