JPA ohne Hibernate?

Status
Nicht offen für weitere Antworten.

mad-din

Bekanntes Mitglied
Hi Leute!

Mit Einführung von JEE 5 gibt es ja eine eigene JavaPersistenceApi von SUN. Laut dem offiziellen Tutorial von SUN zu JEE 5 braucht man Hibernate (oder eine andere Implementierung) nicht mehr. Im diesem Tutorial gibt es ein Beispiel, wie man mit der JPA Persistenzobjekte erzeugen und damit arbeiten kann. Das JavaBuch von Guido Krüger sagt aber, dass man eine Implementierung wie Hibernate benötigt und schreibt auch das Beispiel mit Hibernate.

Jetzt meine Frage: kann ich mit der JPA auf Hibernate verzichten oder nicht? Denn wenn ich nicht darauf verzichten kann, wo liegt dann der eigentliche Vorteil der JPA?

Bisher sehe ich es so: ohne die JPA ist Hibernate allein für Persistenz zuständig. Mit Hilfe der JPA wird Hibernate aber einfacher (siehe Annotations), da die JPA ja auf Hibernate aufbaut. Dann stellt sich mir aber die Frage, wozu JPA verwenden und die Klassen umschreiben, wenn sich eigentlich nichts ändert? Würde allerdings Hibernate wegfallen, können die Projekte ohne Hibernate ausgeliefert werden, wodurch sie schlanker werden und ich muss mir keine Sorgen machen, dass die richtige Hibernateversion auf dem Zielsystem vorhanden ist.

Danke schonmal & viele Grüße,
Martin
 
Hm,

und wieso verwendet dann das offizielle Tutorial von SUN weder Hibernate noch irgendeine andere Implementierung? Darin wird beschrieben, wie man eine Entity-Klasse, einen Entity-Manager und die notwendigen Konfigurationsdateien erstellt und dass man keine anderen Bibliotheken benötigt. Wofür brauche ich dann noch Hibernate? Liefert SUN zusätzlich zur JPA noch eine Standard-Implementierung aus und wenn ja, was ist dann an Hibernate besser?

Viele Grüße,
Martin
 
mad-din hat gesagt.:
Hm,

und wieso verwendet dann das offizielle Tutorial von SUN weder Hibernate noch irgendeine andere Implementierung? Darin wird beschrieben, wie man eine Entity-Klasse, einen Entity-Manager und die notwendigen Konfigurationsdateien erstellt und dass man keine anderen Bibliotheken benötigt. Wofür brauche ich dann noch Hibernate? Liefert SUN zusätzlich zur JPA noch eine Standard-Implementierung aus und wenn ja, was ist dann an Hibernate besser?

Viele Grüße,
Martin

Ja du kannst dir auch gerne alles selber schreiben was dir Hibernate bietet..
 
y0dA hat gesagt.:
Ja du kannst dir auch gerne alles selber schreiben was dir Hibernate bietet..

Das war nicht meine Frage. Ich wollte wissen, ob die JPA eine Standardimplementierung mitbringt oder nicht. Denn es wundert mich, dass das offizielle Tutorial von SUN in keinster Weise einen Hinweis darauf gibt, dass man sich eine Implementierung besorgen soll, sondern alles ohne einer Implementierung geht.

Viele Grüße,
Martin
 
Hi!

Dann sieht die ganze Sache schon anders aus. Das erklärt unter anderem auch, warum die Beispiele nicht funktionieren 😉 Das heißt also, dass sich eigentlich mit Einführung der JPA nicht wirklich was geändert hat, richtig? Außer, dass SUN jetzt eine Schnittstelle bereit stellt, die vorher Hibernate und andere Persistenz-Frameworks schon vorgegeben haben. Oder wie seht ihr das?

Viele Grüße,
Martin
 
Natürlich hat sich durch JPA etwas gravierendes verändert:
Dein Know How ist nun wesentlich flexibler. Wenn Du JPA kannst, dann kannst Du (prinzipiell) heute in einem Projekt mit Hibernate arbeiten und morgen in einem Projekt mit einer anderen Implementierung. Das ist der Sinn von standardisierten Spezifikationen.
 
Hm,

das allerdings funktioniert doch nur, wenn die Implementierung Annotations, etc. unterstützt. Schaue ich mir "alte" Hibernate Projekte an, dann gab es da ja immer unmengen an XML-Dateien, mit JPA fallen diese ja alle weg, allerdings benötige ich dann auch zusätzlich zum Core von Hibernate auch noch Hibernate Annotations.

Viele Grüße,
Martin
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben