Clase base del repositorio personalizado + QueryDslPredicateExecutor

he encontradoQueryDslPredicateExecutor muy útil para reducir la repetitiva, pero parece estar lanzando una llave inglesa a las obras. Ahora estoy tratando de extenderJpaRepository con un repositorio de clase base personalizado, y al inicio, Spring tiene problemas para crear instancias de repositorios correctamente.

//Custom base class
@NoRepositoryBean
public interface IdAwareRepository<A, ID extends Serializable> extends JpaRepository<A, ID> {
    // ID getId(A a);
}

// Base class implementation
public class IdAwareRepositoryImpl<A, ID extends Serializable>
    extends SimpleJpaRepository<A, ID> implements IdAwareRepository<A, ID>  {
    public IdAwareRepositoryImpl(JpaEntityInformation<A, ?> entityInformation, EntityManager entityManager) {
        super(entityInformation, entityManager);
    }
}

// Individual repo
@Repository
public interface MyPojoRepository extends JpaRepository<MyPojo, Integer>, QueryDslPredicateExecutor<MyPojo> {
}

// Spring boot main application class
@EnableJpaRepositories(repositoryBaseClass = IdAwareRepositoryImpl.class)
@EntityScan(basePackageClasses = {Application.class,   Jsr310JpaConverters.class})
@EnableAutoConfiguration(exclude = {
      org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration.class,
      org.springframework.boot.actuate.autoconfigure.ManagementWebSecurityAutoConfiguration.class})
@SpringBootApplication
public class Application {}

He intentado varias variaciones sobre este tema, pero no he tenido la suerte de conectar las cosas con éxito. Me encontré con un problema similar en el rastreador de problemas de Springhttps://jira.spring.io/browse/DATAJPA-674, pero no hay explicación sobre la solución, solo ese código fue refactorizado para que sea más fácil trabajar con él.

Recibo el siguiente error:

Causado por: org.springframework.data.mapping.PropertyReferenceException: No se encontró ninguna propiedad findAll para el tipo MyPojo. en org.springframework.data.mapping.PropertyPath. (PropertyPath.java:77) en org.springframework.data.mapping.PropertyPath.create (PropertyPath.java:329) en org.springframework.data.mapping.PropertyPath.create ( PropertyPath.java:309) en org.springframework.data.mapping.PropertyPath.from (PropertyPath.java:272) en org.springframework.data.mapping.PropertyPath.from (PropertyPath.java:243) en org.springframework.data .repository.query.parser.Part. (Part.java:76) en org.springframework.data.repository.query.parser.PartTree $ OrPart. (PartTree.java:235) en org.springframework.data.repository.query .parser.PartTree $ Predicate.buildTree (PartTree.java:373) en org.springframework.data.repository.query.parser.PartTree $ Predicate. (PartTree.java:353) en org.springframework.data.repository.query. parser.PartTree. (PartTree.java:84) en org.springframework.data.jpa.repository.query.PartTreeJpaQuery. (PartTreeJpaQuery.java:62) en org.springframework.data.jpa.repository.query.JpaQueryLookupSQtrueryLookupSQtrueryLookupSQtrueryLookupSQtrueryLookupSQtrueyLookupSQ ''. AbstractQueryLookupStrategy.resolveQuery (JpaQueryLookupStrategy.java:74) en org.springframework. .Uso : 237) en org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet (JpaReposito Enlazar.

Lo que para mí dice que Spring no puede conectar tanto la clase base personalizada comoQueryDslPredicateExecutor extensiones aJpaRepository

Respuestas a la pregunta(1)

Su respuesta a la pregunta