Hibernate: Session vs EntityManager

Dieses Thema Hibernate: Session vs EntityManager im Forum "Data Tier" wurde erstellt von espresso, 3. Jan. 2013.

Thema: Hibernate: Session vs EntityManager Hallo, ich bin noch ungeübt in Hibernate und versuche gearde etwas in meine DB zu schreiben. Dabei ist mir...

  1. espresso
    espresso Neues Mitglied
    Hallo,
    ich bin noch ungeübt in Hibernate und versuche gearde etwas in meine DB zu schreiben. Dabei ist mir aufgefallen, dass es wohl mehrere Möglichkeiten gibt, dies zu tun:

    1. Mit einer Session
    Code (Java):

    SessionFactory sessionFactory = InitSessionFactory.getInstance();
    Session session = sessionFactory.openSession();
    Transaction transaction = session.beginTransaction();
     
    session.save(subject);

    transaction.commit();
    session.close();
    sessionFactory.close();
     
    2. Mit einem EntityManager
    Code (Java):

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("eventmanager");
    EntityManager em = emf.createEntityManager();
           
    EntityTransaction transaction = em.getTransaction();
    transaction.begin();
           
    em.merge(subject);
           
    transaction.commit();
                   
    em.close();
    emf.close();
     
    Kann mir jemand erklären, worin der Unterschied besteht bzw. was ich in welchem Kontext verwenden muss?
    Warum muss ich hier kein flush verwenden?

    Danke und viele Grüße
    espresso
     
  2. Vielleicht hilft dir das kostenlose Training weiter --> (hier klicken)
  3. maki
    maki Guest
  4. espresso
    espresso Neues Mitglied
    Vielen Dank für die schnelle Antwort.
     
  5. JanHH
    JanHH Mitglied
    Inhaltlich ist es wirklich genau dasselbe, oder? Nur andere Interfaces/Klassen. Aber hinter dem JPA-EntityManager verbirgt sich, wenn man Hibernate für JPA nutzt, die Hibernate-Session.
     
  6. Schau dir jetzt hier den Kurs an und lerne Java zu programmieren: --> Hier klicken, um mehr zu erfahren (Klick)