当前位置: 首页 > 知识库问答 >
问题:

在执行自定义jpa存储库方法时,找不到类型[EntityName]的属性[MethodName]

林丁雷
2023-03-14

我需要在ServiceImpl中准备一个查询,因为根据某些逻辑,查询可能会有不同。柱子的。因此,我决定准备一个自定义JPA存储库,但遇到了一些错误。



 Entity class


  @SuppressWarnings("serial")
 
  @Entity
  
  @Getter
  
  @Setter
  
  @Table(name = "REASON_CODE_REPORT",schema="automation") 
  @IdClass(ErrorCodeReportKeys.class)
  public class ErrorCodeReportEntity
  {
        @Id
        private String smsc;
        
        @Id
        private String userid;
        
        @Id
        private String smsc_userid;
        
        @Id
        private String operator;
        
        @Id
        private String circle;
        
        @Id
        private Date log_date;
        
        @Id
        private Integer log_hour;
        
        @Id
        private Integer log_min;
        
        @Id
        private  Integer vf_reason_code;
        
        @Id
        private  Integer smsc_reason_code;

        private Integer count;
        
        private Timestamp create_date;

  }

@Override
    public List<Object[]> errorCodeDefaultSummary(ErrorCodeReportDTO errorCodeReportDTO) {
 
          String finalQuery="select smsc,userid from ErrorCodeReportEntity where log_date='2021-05-27'";
      List<Object[]> result =   errorCodeRepo.presentDaySummarySmscWise(finalQuery);
      
     
        return result;
}
public interface ErrorCodeCustom {

      List<Object[]> presentDaySummarySmscWise(String query);
        
}
public class ErrorCodeCustomImpl implements ErrorCodeCustom{

    @Autowired
    private EntityManager entityManager;
    
    
    @SuppressWarnings("unchecked")
    @Override
    public List<Object[]> presentDaySummarySmscWise(String query) {
        
     final  String finalQuery=query.toString();
        
       List<Object[]>  result= entityManager.createQuery(finalQuery).getResultList();
        
        
        
        return result;
    }

}
@Repository
public interface ErrorCodeRepository extends JpaRepository<ErrorCodeReportEntity, ErrorCodeReportKeys>,ErrorCodeCustom
{
}

我不知道为什么我会犯以下错误

Caused by: java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.List com.valuefirst.repository.ErrorCodeCustom.presentDaySummarySmscWise(java.lang.String)! No property presentDaySummarySmscWise found for type ErrorCodeReportEntity!

Caused by: org.springframework.data.mapping.PropertyReferenceException: No property presentDaySummarySmscWise found for type ErrorCodeReportEntity!

共有1个答案

皇甫雨华
2023-03-14

Spring无法找到您的实现ErrorCodeCustomImpl。您应该将其注释为@component。

所以出现异常是因为ErrorCodeRepository扩展了ErrorCodeCustom,并且由方法名生成的查询试图使用名为PresentdaySummarysMSCwise的属性。一旦Spring注入了ErrorCodeCustomImpl,错误就消失了。

 类似资料:
  • 我试图实现一个自定义Spring存储库。我有接口: 实施: 和“主”存储库,扩展我的自定义存储库: 我使用的是Spring Boot,根据文档: 默认情况下,Spring Boot将启用JPA存储库支持,并查看@SpringBootApplication所在的包(及其子包)。 当我运行应用程序时,出现以下错误: 组织。springframework。数据映射。PropertyReferenceEx

  • 问题内容: 我有一个Media实体,其中包含用户上载文件的一些基本字段。为了保存上传文件的字节,我想创建一个包含该功能的自定义存储库。按照Spring文档中的步骤,我创建了一个看起来像这样的接口: 然后,我为此接口提供了一个实现 这样,我就创建了以下接口: 现在,当我启动服务器时,得到以下堆栈跟踪: 我找到了类似的帖子,但是那里的建议(全部在同一个程序包中,命名约定)是我已经在做的事情。我所有的媒

  • 问题内容: 我正在尝试实现自定义Spring存储库。我有界面: 实现: 和“主”存储库,扩展了我的自定义存储库: 根据文档,我正在使用Spring Boot : 运行我的应用程序时,出现以下错误: 问题答案: 这里的问题是你正在创建,但正在中使用它。你需要进行创建才能完成这项工作。 阅读此文档以获取更多详细信息 基本上 Spring Data 2.x更新 此答案是为Spring 1.x编写的。正如

  • 我有一个媒体实体,它有一些用户上传的文件的基本字段。为了保存上传的文件字节,我想创建一个自定义存储库来保存该功能。按照Spring留档中的步骤,我创建了如下界面: 然后我为这个接口提供了一个实现,叫做 然后,我创建了以下界面: 现在,当我启动服务器时,我得到以下堆栈跟踪: 我发现了这篇类似的帖子,但其中的建议(都在同一个包中,命名约定)是我已经在做的事情。我所有的媒体类和接口都在同一个包中,我使用

  • 我正在尝试实现一个自定义的 Spring 存储库。我有界面: 其中RataEntity类是 它的实施 和以下存储库类 当我运行我的应用程序时,我得到这个错误: 未能创建方法公共摘要的查询java.util.Listit.aubay.PreliosPAN.repositories.RataRepositoryCustom.getRateFromTipo频率zaRimborso(java.lang.字