Do I have to report this problem elsewhere for it to have a chance to be fixed?
I found other problems in other codes generated by NetBeans and I prefer to report them the right way. Regards, Richard Le 29/07/2019 à 16:06, Richard Grin a écrit : Hi Ortiz, The EJB in which I inject is NOT annotated by @TransactionManagement( TransactionManagementType.BEAN) so, by default, the transactions are managed by the container: one automatic commit or rollback at the end of the method which started the transaction (I won't go into the details... ; see https://javaee.github.io/tutorial/transactions004.html#BNCIJ). A UserTransaction must not be used. The old versions of NetBeans inserted the good code. See the code of Arjan Tijms in https://stackoverflow.com/questions/8772175/how-to-implement-container-managed-transaction-cmt. Regards, Richard Le 29/07/2019 à 13:33, Javier Ortiz a écrit : The current one seems completely correct to me. What error/problem are you getting? That's an atomic operation. On Mon, Jul 29, 2019, 5:31 AM Richard Grin <richard.g...@univ-cotedazur.fr<mailto:richard.g...@univ-cotedazur.fr>> wrote: 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 -- Cordialement, Richard Grin -- Cordialement, Richard Grin