Je suis nouveau à JPA.
Selon ma compréhension, JPA est une spécification et Hibernate implémente JPA et fournit des fonctionnalités supplémentaires ainsi que des méthodes JPA.
Mais je parcourais les tutoriels JPA, où en utilisant l'objet EntityManager
, nous pouvons effectuer CRUD sur des données, sans utiliser les bibliothèques Hibernate!
Alors quelqu'un peut-il me faire savoir s'il vous plaît
EntityManager
, sans utiliser Hibernate?Veuillez mentionner un lien ou un exemple utile.
Beaucoup apprécier la réponse.
Merci.
Vous avez raison JPA est la spécification. Hibernate, EclipseLink sont quelques-unes de ses implémentations.
Vous devez spécifier le fournisseur de persistance (Hibernate, EclipseLink) pour pouvoir utiliser l'implémentation JPA. Les fournisseurs de persistance ont les classes implémentation pour les spécifications JPA.
Vous ne pouvez pas simplement utiliser JPA, car il s'agit d'une API =), mais il existe de nombreuses implémentations JPA:
Vous pouvez utiliser JPA seul sans utiliser Hibernate et Before devrait connaître les principaux points entre Hibernate et JPA comme indiqué ci-dessous.
Hibernate
JPA
JPA peut être utilisé sans fournisseur JPA, également appelé Hibernate, EclipseLink, etc., uniquement si le serveur d'applications dispose déjà d'une implémentation JPA. Sur les tutoriels que vous avez vus, vous avez probablement vu des démonstrations réalisées sur un tel serveur d'applications.
Si vous ne souhaitez pas utiliser Hibernate (ou tout autre fournisseur JPA), vous devez alors implémenter votre propre fournisseur en fournissant une implémentation pour l'interface javax.persistence.spi.PersistenceProvider. La question est: pourquoi avez-vous besoin de réinventer la roue? Si vous n'aimez pas Hibernate, vous pouvez utiliser l'un des nombreux autres fournisseurs JPA parmi lesquels choisir.
vous ne pouvez pas utiliser JPA seul. JPA est une spécification, qui définit une API pour les mappages relationnels-objets et pour la gestion des objets persistants. Vous avez besoin d'un fournisseur JPA pour l'implémenter, comme Hibernate, EclipseLink.