Spring Data JPA, qui fait partie de la plus grande famille Spring Data, facilite la mise en œuvre de référentiels basés sur JPA. Ce module traite de la prise en charge améliorée des couches d'accès aux données basées sur JPA. Il facilite la création d'applications Spring qui utilisent les technologies d'accès aux données.
La mise en œuvre d’une couche d’accès aux données d’une application est fastidieuse depuis un certain temps. Trop de code passe-partout doit être écrit pour exécuter des requêtes simples ainsi que pour effectuer la pagination et l'audit. Spring Data JPA vise à améliorer considérablement la mise en œuvre des couches d'accès aux données en réduisant l'effort au montant réellement nécessaire. En tant que développeur, vous écrivez vos interfaces de référentiel, y compris les méthodes de recherche personnalisées, et Spring fournira automatiquement l'implémentation.
Implémentation des méthodes CRUD pour les entités JPA
Génération de requêtes dynamiques à partir des noms de méthodes de requête
Déclenchement transparent de JPA NamedQueries par méthodes de requête
Classes de base du domaine d'implémentation fournissant des propriétés de base
Prise en charge de l'audit transparent (créé, dernière modification)
Possibilité d'intégrer du code de référentiel personnalisé
Intégration facile de Spring avec un espace de noms personnalisé
Ce projet est régi par le code de conduite de Spring. En participant, vous êtes censé respecter ce code de conduite. Veuillez signaler tout comportement inacceptable à [email protected].
Voici un aperçu rapide d'une application utilisant Spring Data Repositories en Java :
public interface PersonRepository extends CrudRepository < Person , Long > {
List < Person > findByLastname ( String lastname );
List < Person > findByFirstnameLike ( String firstname );
}
@ Service
public class MyService {
private final PersonRepository repository ;
public MyService ( PersonRepository repository ) {
this . repository = repository ;
}
public void doWork () {
repository . deleteAll ();
Person person = new Person ();
person . setFirstname ( "Oliver" );
person . setLastname ( "Gierke" );
repository . save ( person );
List < Person > lastNameResults = repository . findByLastname ( "Gierke" );
List < Person > firstNameResults = repository . findByFirstnameLike ( "Oli%" );
}
}
@ Configuration
@ EnableJpaRepositories ( "com.acme.repositories" )
class AppConfig {
@ Bean
public DataSource dataSource () {
return new EmbeddedDatabaseBuilder (). setType ( EmbeddedDatabaseType . H2 ). build ();
}
@ Bean
public JpaTransactionManager transactionManager ( EntityManagerFactory emf ) {
return new JpaTransactionManager ( emf );
}
@ Bean
public JpaVendorAdapter jpaVendorAdapter () {
HibernateJpaVendorAdapter jpaVendorAdapter = new HibernateJpaVendorAdapter ();
jpaVendorAdapter . setDatabase ( Database . H2 );
jpaVendorAdapter . setGenerateDdl ( true );
return jpaVendorAdapter ;
}
@ Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory () {
LocalContainerEntityManagerFactoryBean lemfb = new LocalContainerEntityManagerFactoryBean ();
lemfb . setDataSource ( dataSource ());
lemfb . setJpaVendorAdapter ( jpaVendorAdapter ());
lemfb . setPackagesToScan ( "com.acme" );
return lemfb ;
}
}
Ajoutez la dépendance Maven :
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-jpa</ artifactId >
< version >${version}</ version >
</ dependency >
Si vous préférez les derniers instantanés de la prochaine version majeure, utilisez notre référentiel d'instantanés Maven et déclarez la version de dépendance appropriée.
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-jpa</ artifactId >
< version >${version}-SNAPSHOT</ version >
</ dependency >
< repository >
< id >spring-snapshot</ id >
< name >Spring Snapshot Repository</ name >
< url >https://repo.spring.io/snapshot</ url >
</ repository >
Vous rencontrez des problèmes avec Spring Data ? Nous serions ravis de vous aider !
Consultez la documentation de référence et Javadocs.
Apprenez les bases de Spring – Spring Data s'appuie sur Spring Framework, consultez le site Web spring.io pour une multitude de documentation de référence. Si vous débutez avec Spring, essayez l'un des guides.
Si vous effectuez une mise à niveau, consultez les notes de version Spring Data JPA et faites défiler jusqu'à celle que vous envisagez. Voir les détails ici. (Consultez également la dernière version stable)
Posez une question - nous surveillons stackoverflow.com pour les questions marquées avec spring-data-jpa
. Vous pouvez également discuter avec la communauté sur Gitter.
Signalez les bogues avec Spring Data JPA dans le suivi des problèmes GitHub.
Spring Data utilise GitHub comme système de suivi des problèmes pour enregistrer les bogues et les demandes de fonctionnalités. Si vous souhaitez soulever un problème, veuillez suivre les recommandations ci-dessous :
Avant de consigner un bug, veuillez effectuer une recherche dans le système de suivi des problèmes pour voir si quelqu'un a déjà signalé le problème.
Si le problème n'existe pas déjà, créez un nouveau problème.
Veuillez fournir autant d'informations que possible avec le rapport de problème, nous aimons connaître la version de Spring Data que vous utilisez et la version JVM, les traces complètes de la pile et toute information de configuration pertinente.
Si vous devez coller du code ou inclure une trace de pile, formatez-le sous forme de code en utilisant un triple backtick.
Si possible, essayez de créer un cas de test ou un projet qui reproduit le problème. Joignez un lien vers votre code ou un fichier compressé contenant votre code. Utilisez une base de données en mémoire si possible ou configurez la base de données à l'aide de Testcontainers.
Vous n'avez pas besoin de créer à partir des sources pour utiliser Spring Data (binaires dans repo.spring.io), mais si vous souhaitez essayer les dernières et meilleures versions, Spring Data peut être facilement créée avec le wrapper maven. Vous avez également besoin de JDK 17 ou supérieur.
$ ./mvnw clean install
Si vous souhaitez construire avec la commande mvn
standard, vous aurez besoin de Maven v3.8.0 ou supérieur.
Consultez également CONTRIBUTING.adoc si vous souhaitez soumettre des pull request, et en particulier veuillez signer l'accord de contributeur avant votre premier changement non trivial.
Construire la documentation construit également le projet sans exécuter de tests.
$ ./mvnw clean install -Pantora
La documentation générée est disponible sur target/antora/site/index.html
.
Le site spring.io contient plusieurs guides qui montrent comment utiliser Spring Data étape par étape :
Accès aux données avec JPA : découvrez comment utiliser la persistance des données JPA à l'aide de Spring Data JPA.
Accéder aux données JPA avec REST est un guide pour créer un service Web REST exposant les données stockées avec JPA via des référentiels.
Spring Data Exemples contient des exemples de projets qui expliquent plus en détail des fonctionnalités spécifiques.
Spring Data JPA est un logiciel Open Source publié sous la licence Apache 2.0.