# Unterschiede Hibernate Vs. Java Persistence API



## Disaster2k (21. Mai 2014)

Guten Tag,

ich bin gerade am Studieren und da taucht eine Frage auf die ich nicht richtig beantworten kann:
"Was sind die Unterschiede zwischen Hibernate und der Java Persistence API?"

Da ich schon etwas nachgeforscht habe wurde meine Ursprüngliche Meinung bestätigt falls ich das alles richtig verstanden habe. Aber vielleicht liege ich falsch und mir kann hier noch jemand einen Tipp geben.

Meiner Meinung ist ja die Java Persistence API "nur" die Spezifikation wie die Abbildung von Objekten in die relationale Datenbank funktionieren muss. Hibernate hingegen implementiert diesen Standard und ist somit einer von vielen Persistence Provider.

Stimmt das so bzw. gibt es da noch mehr Unterschiede die man aufzählen könnte?

Vielen Dank


----------



## Phash (21. Mai 2014)

Hibernate ist eine Implementation der java persistence api.

Das ist wie das Verhältnis Hund zu Tier


----------



## Disaster2k (21. Mai 2014)

Ja sehe ich auch so, aber was schreibt man dann für unterschiede hin. Das kann man ja kaum vergleichen oder!


----------



## stg (21. Mai 2014)

Hibernate ist, sofern nicht lediglich die Hibernate JPA gemeint ist, viel viel mehr. Gehen wir aber mal davon aus, dass hier wirklich nur die JPA-Implementierung gemeint ist.
Nun kann es aber durchaus sein, dass Hibernate einiges mehr abdeckt, als durch die JPA-Spezifikation gegeben ist, aber andererseits auch, dass nicht alles, was in der Spezifikation gefordert ist abgedeckt wird. Um dazu genaueres zu sagen kenne ich mich mit Hibernate aber nicht gut genug aus. 

Der Unterschied, um den es dem Fragesteller hier vermutlich ging, ist vermutlich genau das, was du bereits selbst beantwortet hast.


----------



## Disaster2k (21. Mai 2014)

Super danke, ich hab mir das eh schon so gedacht. 
Werde mich damit mal zufrieden geben und hoffe das es so auch gemeint war.


----------



## Phash (23. Mai 2014)

Hibernate bietet noch ein paar extras an,  die es in der jpa nicht gibt: criteria z.b. Die abfrage Sprache ist auch anders,  hql und jpql


----------



## Disaster2k (23. Mai 2014)

@Phash, danke für den Hinweis


----------



## stg (23. Mai 2014)

Ist Criteria nicht Bestandteil von JPA? Wenigsens ab 2.0?


----------



## Phash (24. Mai 2014)

Ja, aber die hibernate Implementierung ist anders als die jpa soec, afaik


----------

