web-dev-qa-db-fra.com

Comment accéder au gestionnaire d'entités avec Spring Boot et Spring Data

Comment puis-je accéder à Entity Manager dans le référentiel lors de l'utilisation de Spring Boot et Spring Data?

Sinon, je devrai mettre ma grosse requête dans une annotation. Je préférerais avoir quelque chose de plus clair qu'un long texte.

16
robert trudel

Vous définiriez un CustomRepository pour gérer de tels scénarios. Considérez que vous avez CustomerRepository qui étend l'interface JPA par défaut des données de printemps JPARepository<Customer,Long>

Créez une nouvelle interface CustomCustomerRepository avec une signature de méthode personnalisée.

public interface CustomCustomerRepository {
    public void customMethod();
}

Étendre l'interface CustomerRepository à l'aide de CustomCustomerRepository

public interface CustomerRepository extends JpaRepository<Customer, Long>, CustomCustomerRepository{

}

Créez une classe d'implémentation nommée CustomerRepositoryImpl qui implémente CustomerRepository. Ici, vous pouvez injecter le EntityManager en utilisant le @PersistentContext. Les conventions de dénomination importent ici.

public class CustomerRepositoryImpl implements CustomCustomerRepository {

    @PersistenceContext
    private EntityManager em;

    @Override
    public void customMethod() {

    }
}
17
Nitin Arora