Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SpringData扩展JpaSpecificationExecutor错误_Java_Spring Data_Spring Data Jpa - Fatal编程技术网

Java SpringData扩展JpaSpecificationExecutor错误

Java SpringData扩展JpaSpecificationExecutor错误,java,spring-data,spring-data-jpa,Java,Spring Data,Spring Data Jpa,我有一个很奇怪的问题。在我的存储库中,我需要扩展JpaSpecificationExecutor接口,以便能够使用findAll(规范,可分页)进行自定义查询分页 但是,当我使用JpaSpecificationExecutor时 public interface DescriptionRepository extends ParentRepositoryCustom<Description, Long>, JpaSpecificationExecutor<Des

我有一个很奇怪的问题。在我的存储库中,我需要扩展
JpaSpecificationExecutor
接口,以便能够使用
findAll(规范,可分页)
进行自定义查询分页

但是,当我使用JpaSpecificationExecutor时

public interface DescriptionRepository extends ParentRepositoryCustom<Description, Long>,
        JpaSpecificationExecutor<Description> {

} 
公共接口描述存储库扩展了ParentRepositoryCustom, JpaSpecificationExecutor{ } 应用程序将不会生成,抛出类型类描述的
未找到属性计数
异常


我的
Description
类没有count属性。当我从存储库中删除
JpaSpecificationExecutor
时,一切又恢复正常。

我遇到了同样的异常。就我而言,原因是 ParentRepositoryImpl未正确执行SimpleParepository 这是JpaSpecificationExecutor的一个实现。 因此,当Spring尝试解析查询名称时,它会排除属于Spring所调用的实现的repositoryBaseClass的方法名称。它位于org.springframework.data.repository.core.support.DefaultRepositoryInformation类中

public boolean isBaseClassMethod(Method method) {
    return isTargetClassMethod(method, repositoryBaseClass);
}
检查repositoryBaseClass是否符合预期。它应该定义“count”方法

如果您没有扩展正确的超类,那么方法(“count”在您的例子中)不会从解析中排除,Spring会尝试通过根据其名称结构创建查询来构建查询。。。在这种情况下,将根据实体属性测试名称片段