Maison > Java > javaDidacticiel > Comment puis-je étendre les référentiels JPA Spring Data avec des méthodes personnalisées ?

Comment puis-je étendre les référentiels JPA Spring Data avec des méthodes personnalisées ?

Susan Sarandon
Libérer: 2024-12-04 22:46:12
original
277 Les gens l'ont consulté

How Can I Extend Spring Data JPA Repositories with Custom Methods?

Personnalisation de Spring Data JPA avec des méthodes supplémentaires

Dans Spring Data JPA, vous pouvez accéder sans effort aux fonctionnalités CRUD et Finder par défaut via une interface de référentiel. La personnalisation des chercheurs est également simple. Cependant, lorsqu'il s'agit d'ajouter des méthodes personnalisées complètes avec leur implémentation, l'approche de l'interface devient limitée.

Pour surmonter ce problème, vous pouvez créer une interface distincte pour héberger vos méthodes personnalisées :

public interface AccountRepository 
    extends JpaRepository<Account, Long>, AccountRepositoryCustom { ... }

public interface AccountRepositoryCustom {
    public void customMethod();
}
Copier après la connexion

Ensuite, fournissez une classe d'implémentation pour l'interface des méthodes personnalisées :

public class AccountRepositoryImpl implements AccountRepositoryCustom {

    @Autowired
    @Lazy
    AccountRepository accountRepository;  /* Optional - if you need it */

    public void customMethod() { ... }
}
Copier après la connexion

Avec cette approche, vous pouvez étendre les fonctionnalités de votre référentiel Spring Data JPA avec des méthodes personnalisées tout en conservant la séparation des préoccupations.

Ressources supplémentaires :

  • [Implémentations de référentiels personnalisés](https://docs.spring.io/spring-data/jpa/docs/ current/reference/html/#repositories.custom-implementations)
  • [Schéma de dénomination Changement](https://stackoverflow.com/a/52624752/66686)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal