Hibernate Welche Bibliothek?

Dieses Thema Hibernate - Welche Bibliothek? im Forum "Data Tier" wurde erstellt von denis7788, 19. Apr. 2016.

Thema: Welche Bibliothek? Ich möchte gerne Hibernate in meinem Webprojekt nutzen (in Netbeans8, mit Glassfish 4.1.1.). Welche ist denn die...

  1. Ich möchte gerne Hibernate in meinem Webprojekt nutzen (in Netbeans8, mit Glassfish 4.1.1.).
    Welche ist denn die richtige Library, die ich dem Projekt hinzufügen muss? Hier stehen drei zur Auswahl:
    - Hibernate 4.3.x
    - Hibernate 4.3.x(JPA2.1)
    - Hibernate 4.3.x Modelgen.

    Und wie kann ich denn dafür sorgen, dass bei der Erstellung eines neuen Projekts Hibernate neben den anderen Frameworks, wie JSF usw. auch zur Auswahl steht?
     
  2. Vielleicht helfen dir diese Java-Grundlagen weiter --> *Klick*
  3. Keine von diesen.

    Der Glassfish ist JEE7 konform.

    JEE7 ist eine API
    JPA ist eine API die in JEE7 vorhanden ist.
    Hibernate ist eine Implementierung der JPA-API.

    Das heißt in Netbeans angeben, dass man ein JEE7 Projekt erstellen möchte.
    Dort verwendet man dann die JPA Annotationen und evtl. noch eine persistence.xml.
    Beim Deployen stellt der Glassfish dann eine Implementierung für JPA bereit, also Hibernate, EclipseLink oder was es sonst noch so gibt und die Glassfish-Macher für das beste Halten. Man kann sogar eine DataSource im AS einstellen und dann über einen Lookup in der Anwendung darauf zugreifen.
     
  4. stg
    stg
    .....die aktuelle Version ist übrigens 5.1.x
     
  5. Also ich verstehe, dass Hibernate eine mögliche Implementierung von JPA ist. Was ich nicht verstehe ist, warum ich diejenige Implementierung, die ich nutzen möchte (also bei mir Hibernate) nicht in mein Projekt einbinden muss. Also an irgendeiner Stelle muss ich doch angeben: Ich nutze Hibernate, hier hast du die Bibliotheken, die benötigt werden. Oder werden diese von Glassfish zur Verfügung gestellt?


    Ich habe eine DataSource erstellt und diese in der Hibernate Konfiguration angegeben. Dort habe ich beispielsweise auch den SQL Dialekt usw. angegeben. Kann ich mir die Hibernate Config komplett sparen und diese Infos in der persistance.xml unterbringen?

    Ich habe Hibernate in Netbeans über die Project Properties->Frameworks eingefügt. Damit habe ich die Version 4.3.1 bekommen. Kann ich über Netbeans auch die neueste Version einbinden?
     
  6. Mal ein Beispiel von Adam Bien

    https://github.com/AdamBien/doit/tree/master/doit

    Er verwendet eine Persistence XML mit minimalem Inhalt.
    https://github.com/AdamBien/doit/blob/master/doit/src/main/resources/META-INF/persistence.xml

    Build wie üblich mit Maven
    https://github.com/AdamBien/doit/blob/master/doit/pom.xml
    Als Dependency wird ausser Primefaces und Junit lediglich JEE 7 genannt.
    javax:javaee-api:7.0:provided
    Und diese Abhängigkeit wird nur zum Compilieren verwendet und landet nicht im war-File. Beinhaltet indirekt JPA.

    Eine Entity DoIt die via JPA annotiert wurde
    https://github.com/AdamBien/doit/bl...acks/doit/business/reminders/entity/ToDo.java

    Verwendung der Entity mit einem durch CDI injeziertem EntityManager (@PersistenceContext)
    https://github.com/AdamBien/doit/bl.../business/reminders/boundary/ToDoManager.java

    Alles andere macht der AS. Dort wird die Datenbank konfiguriert die verwendet werden soll (JDBC-Treiber, User, PW).
    Die Anwendung ist nur gegen JPA implementiert. Der AS hat eine passende Implementierung und stellt diese zur Verfügung.

    TL;DR
    Du sagst mach JPA Zeug.
    Glassfish hat eine JPA Implementierung und sorgt dafür dass das JPA Zeug damit erledigt wird.
     
    Zuletzt von einem Moderator bearbeitet: 24. Apr. 2016
  7. KOSTENLOSES Java-Grundlagen Training im Wert von 39 € Sichere dir hier den kostenlosen Zugriff auf umfangreiches Java-Know How und starte richtig durch!