Ошибка проверки для запроса метода publi c abstract в унаследованном интерфейсе - PullRequest
0 голосов
/ 04 апреля 2020

Я получаю следующую ошибку при наследовании этого метода:

Caused by: java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.List com.vw.asa.repositories.base.BaseCmsRepository.getAllByDescFilter(java.lang.String,org.springframework.data.domain.Pageable)!
    at org.springframework.data.jpa.repository.query.SimpleJpaQuery.validateQuery(SimpleJpaQuery.java:93)
    at org.springframework.data.jpa.repository.query.SimpleJpaQuery.<init>(SimpleJpaQuery.java:63)
    at org.springframework.data.jpa.repository.query.JpaQueryFactory.fromMethodWithQueryString(JpaQueryFactory.java:76)
    at org.springframework.data.jpa.repository.query.JpaQueryFactory.fromQueryAnnotation(JpaQueryFactory.java:56)
    at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$DeclaredQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:140)
    at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$CreateIfNotFoundQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:207)
    at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$AbstractQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:78)
    at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.lookupQuery(RepositoryFactorySupport.java:574)
    at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.lambda$mapMethodsToQuery$1(RepositoryFactorySupport.java:567)
    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
    at java.util.Iterator.forEachRemaining(Iterator.java:116)

Это класс-нарушитель с отмеченной строкой ошибки:

@NoRepositoryBean
public interface BaseCmsRepository<T, ID extends Serializable> extends BaseRepository<T, ID> {

    @Query("SELECT a FROM #{#entityName} a WHERE a.parentId = :parent_id")
    List<T> getAllChildrenOf(
            @Param("parent_id") Integer parent_id
    );

    @Query("SELECT a FROM #{#entityName} a WHERE a.isActive = 1 AND a.name LIKE %:filter% ORDER by a.name ASC")
    List<T> getAllByNameFilter(
            @Param("filter") String filter,
            Pageable pageable
    );

    // ** THIS IS THE OFFENDING LINE **
    @Query("SELECT a FROM #{#entityName} a WHERE a.isActive = 1 AND a.desc LIKE %:filter% ORDER by a.name ASC")
    List<T> getAllByDescFilter(
            @Param("filter") String filter,
            Pageable pageable
    );

}

Не уверен, почему эта строка вызывает его , но другие нет. Может быть, я упускаю явную ошибку, и мне просто нужен второй набор глаз?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...