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

Reply via email to