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.
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() {
}
}