gpt4 book ai didi

java - 为什么我会收到带有方法名的 PropertyReferenceException?

转载 作者:行者123 更新时间:2023-12-02 04:06:52 26 4
gpt4 key购买 nike

当我尝试构建我的 Maven 项目时,出现以下异常:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'performanceDao': 
Invocation of init method failed; nested exception is org.springframework.data.mapping.PropertyReferenceException:
No property customSearch found for type Performance!

我正在将 Spring 与 hibernate 和 java 1.8 一起使用。我只是想创建自己的查询方法。

异常本身对我来说没有意义,因为我没有属性 customSearch,customSearch 是我的方法。我已经尝试了其他方法名称和我可以通过谷歌找到的任何东西。

我认为这与类的命名约定有关。

相关的最小代码部分是:

存储库:

@Repository
public interface PerformanceDao extends JpaRepository<Performance,Integer>,PerformanceRepositoryCustom {
}

自定义界面:

public interface PerformanceRepositoryCustom {
public List<Performance> customSearch(Performance x, Integer durationDiff);
}

接口(interface)实现:

@Repository
public class PerformanceRepositoryImpl implements PerformanceRepositoryCustom {

@PersistenceContext
private EntityManager entityManager;

public PerformanceRepositoryImpl() {
super();
}

@Override
public List<Performance> customSearch(Performance x, Integer durationDiff){
return null;
}

}

最佳答案

你是对的:问题是你的类型的命名。

您必须将接口(interface) PerformanceDao 重命名为 PerformanceRepository,因此您具有以下类型:

  • 性能存储库
  • 性能存储库自定义
  • PerformanceRepositoryImpl

关于java - 为什么我会收到带有方法名的 PropertyReferenceException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34190627/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com