2010-07-20 4 views
3

Je viens de rejoindre un projet en cours basé sur le cadre de printemps. Il utilise hibernate comme système ORM. et il est bien intégré. J'ai beaucoup appris avec ce projet. Mais certains comment je ne suis pas satisfait de ma compréhension d'hibernate, JPA, quand ils sont mélangés ensemble. Cela a été très déroutant pour moi de comprendre quand mon premier ministre parle d'un terme en perspective d'hibernation et quand il a déménagé à JPA. Alors, s'il vous plaît donnez-moi un aperçu de ces termes .. Comment ils sont intégrés? Comment ils sont séparés les uns des autres? Dans Contexte de spring-hibernate: qu'est-ce que cela signifie d'avoir un template hibernate?Comment définir JPA?

Il y a beaucoup de questions ici; Je pense, je ne suis pas capable de poser ma question avec précision; Mais je suis très très confus avec tout l'état des termes .... :(

Reagard; Vijay Shanker

+1

Dupe: http://stackoverflow.com/questions/2456484/pros-cons-hibernate-vs-ejb-3, http://stackoverflow.com/questions/955515/difference-between-jpa-entity-and -hibernate-entity, http://stackoverflow.com/questions/1770211/similarity-and-difference-between-jpa-and-hibernate, http://stackoverflow.com/questions/1770211/similarity-and-difference-between -jpa-et-hibernate –

Répondre

5

JPA est une spécification Hibernate est un produit qui implémente la spécification JPA (et est donc EclipseLink. , par exemple).

le livre "Pro JPA 2" est une excellente ressource pour apprendre les détails sur JPA.

ORM (Object-Relational Mapping) est le concept de traduction entre le modèle "objet" utilisé par un langage orienté objet comme Java, et le modèle "relationnel" utilisé par une base de données relationnelle se comme Oracle ou MySQL. JPA et Hibernate sont tous les deux des outils qui activent ORM, donc vous n'avez pas besoin de coder vous-même la solution entière.

2

JPA est une spécification, avec un fournisseur qui implémente réellement la fonctionnalité ORM. Il existe plusieurs fournisseurs disponibles: les implémentations de référence (Toplink Essentials et EclipseLink pour JPA 1.0 et JPA 2.0), Hibernate, OpenJPA, etc.

Lorsque vous passez d'Hibernate à JPA, il est utile de comprendre the mapping between the various Hibernate concepts/classes with the JPA concepts/classes. Après tout, Gavin King est l'un des membres du groupe d'experts de la spécification JPA. L'un des points manquants dans la cartographie est le concept d'un contexte de persistance, qui est expliqué assez bien dans le OpenEJB JPA 101 notes.