# Java > Gnral Java > Persistance des donnes >  Diffrence entre spring hibernate et JPA ?

## totot

Bonjour,

Je ralise une application en Spring et je suis un peut perdu entre diffrents terme: Hibernate/JPA, hibernate-spring et Hibernate tout seul.

Pouvez-vous m'explique clairement ces 3 termes.

Merci

----------


## Gugelhupf

Bonsoir, 


Je ne vois que deux termes distincts dans tout ce que tu cites : JPA (Java Persistence API) et Hibernate. "hibernate-spring" doit surement tre le nom de la dpendance Hibernate pour fonctionner dans le framework Spring.
JPA est la spcification Java pour interagir avec une base de donnes grce  des objets Java, c'est une surcouche de la spcification JDBC.
JPA n'est qu'une spcification, un ensemble d'interfaces Java qui ont besoin d'une implmentation pour fonctionner, Hibernate par exemple, mais il en existe d'autres comme Eclipselink ou OpenJPA (mme si Hibernate reste le plus connu).

Mme si tu peux te passer de la spcification JPA et utiliser directement les classes Hibernate, je te conseille tout de mme d'utiliser JPA, ainsi mme si tu viens  changer d'implmentation un jour tu n'auras pas (ou peu) de migration  effectuer.


A+

----------

