Spring Data JPA prend en charge le comptage d'entités à l'aide de spécifications. Mais a-t-il un moyen de compter les entités en utilisant la résolution de nom de méthode ? Disons que je veux une méthode countByName
pour compter les entités avec un nom spécifique, tout comme une méthode findByName
pour récupérer toutes les entités avec un nom spécifique.
Réponses
Trop de publicités?
Roman
Points
296
Leo Holanda
Points
755
JpaRepository étend également QueryByExampleExecutor. Vous n'avez donc même pas besoin de définir des méthodes personnalisées sur votre interface :
public interface UserRepository extends JpaRepository<User, Long> {
// no need of custom method
}
Et puis interrogez comme :
User probe = new User();
u.setName = "John";
long count = repo.count(Example.of(probe));
Sagar Misal
Points
135
Exemple pratique
@Repository
public interface TenantRepository extends JpaRepository< Tenant, Long > {
List<Tenant>findByTenantName(String tenantName,Pageable pageRequest);
long countByTenantName(String tenantName);
}
Appel de la couche DAO
@Override
public long countByTenantName(String tenantName) {
return repository.countByTenantName(tenantName);
}
Abel Pastur
Points
1120