Bien que n'étant pas novice, j'essaie d'apprendre le framework de printemps (encore!) Afin d'être sûr de bien comprendre cela. J'ai une idée juste sur le noyau de printemps (DI). Maintenant, je me concentre sur la couche de données.
Je suis tombé sur le terme " Spring and Hibernate ". Selon mon interprétation, cela impliquerait l’utilisation de Spring Framework avec Hibernate comme fournisseur d’outil ORM/JPA.
Maintenant, je suis tombé sur " Spring Data JPA ". J'ai précisé sur SO à propos de Spring Data JPA, qu'il s'agit d'une couche d'abstraction au-dessus de JPA (et sous le capot, Spring Data JPA utilise Hibernate ou tout autre fournisseur JPA).
Maintenant, ces termes sont-ils les mêmes? C'est-à-dire que " Spring + hibernate " est identique à celui de " Spring Data JPA ". Si non, alors quelle est la différence/similitudes?
Je suis vraiment confus sur tant de termes/déclarations (comme ci-dessus) qui semblent être similaires, mais peuvent être différents.
Comme vous le dites, Spring-data-jpa offre bien plus que l'intégration classique de Spring-JPA. Avec l'intégration JPA/Hibernate, vous obtenez principalement
Avec Spring-data-jpa, vous obtenez tout cela, plus (entre autres)
Ceci est juste une petite introduction. Pour plus d'aide, lisez la documentation.
quand vous parlez de printemps + hibernation
hibernatesessionfactory
, open transaction et commit. Beaucoup de travail avant et après chaque opération.hibernatetemplate
qui en interne utilise hibernatesessionfactory
. Ainsi, vous n'avez pas besoin de vous soucier beaucoup de pré et post code pendant ces opérations.Parlons maintenant de spring + data jpa
crud repository
et le printemps injectera sa mise en œuvre au moment de l’exécution.Repository
. Et peut utiliser cela à travers l'application.sql or jpql.
en natif.Je trouve ce lien utile:
JPA est l'API Java Persistence, qui est l'API standard de Java pour le mappage objet-relationnel.
JPA n'est qu'une spécification - vous avez besoin d'une implémentation pour pouvoir l'utiliser. Hibernate est l’une des implémentations les plus connues et les plus utilisées de JPA, mais il en existe d’autres, telles que EclipseLink JPA.
Spring Framework est un vaste framework destiné à vous aider à écrire plus facilement un logiciel de niveau entreprise. Il prend en charge de nombreuses technologies Java, notamment JPA.
Spring Framework consiste en un ensemble de projets, dont Spring Data.
Spring Data a pour but de faciliter le travail avec différents types de bases de données, des bases de données relationnelles traditionnelles aux bases de données NoSQL. Spring Data prend en charge JPA via le sous-projet Spring Data JPA.
Pour écrire un programme qui utilise JPA, vous devez au moins une implémentation de JPA, telle que Hibernate.
Si vous utilisez Spring Framework pour votre application, vous souhaiterez probablement utiliser Spring Data JPA avec Hibernate.