EntityManager

EntityManager ist das zentrale JPA-Interface für DB-Zugriff.

Pendant zum DbContext in EF Core.

I. Wie bekomme ich einen?


Per @PersistenceContext-Injection in einer EJB:

@PersistenceContext(unitName = "LeviLearningPU")
private EntityManager em;

II. Wichtige Methoden


Methode Wirkung
em.persist(e) INSERT (entity wird "managed")
em.find(Foo.class, id) SELECT by PK
em.merge(e) UPDATE
em.remove(e) DELETE
em.createQuery(jpql, T.class) JPQL-Query
em.flush() SQL sofort an DB senden

III. Container-managed


Der EntityManager ist automatisch in der laufenden CMT-Transaktion eingeschrieben. Du musst nichts commiten.