Попытка смешать PagingAndSortingRepository с пользовательскими запросами, не повезло.
Пользовательское репо:
public interface SiteRepositoryCustom
{
public List<SitesDbRecord> getActiveSites();
}
Импл репо:
@Repository
public class SiteRepositoryImpl implements SiteRepositoryCustom
{
private static final Logger logger = ...
@PersistenceContext
private EntityManager em;
@Override
public List<SitesDbRecord> getActiveSites()
{
logger.info( "getActiveSites start" );
try
{
String hql = "select s from SitesDbRecord s where s.isActive = true";
return em.createQuery( hql ).setMaxResults( Integer.MAX_VALUE ).getResultList();
}
catch ( Exception e )
{
logger.error( "getActiveSites failed.", e );
return null;
}
}
}
Репо, введенное вservice:
public interface SiteRepository extends PagingAndSortingRepository<SitesDbRecord, Integer>, SiteRepositoryCustom {
public List<SitesDbRecord> getActiveSites( Pageable pageable );
public List<SitesDbRecord> getActiveSites();
}
Если я просто расширяю CrudRepository (без метода Pageable), тогда все в порядке.При попытке расширить PagingAndSortingRepository (с или без метода Pageable) Spring не может загрузиться с
PropertyReferenceException: No property getActiveSites found for type SitesDbRecord!
Как правильно использовать PagingAndSortingRepository с пользовательскими запросами?Возможно, это неправильно, но я взял на себя ответственность Spring по обеспечению обработки подкачки / сортировки.