0

尝试启动应用程序时出现以下错误。我尝试了多重解决方案,但似乎没有一个有效。

*引起:org.springframework.beans.factory.BeanCreationException:创建名为“testRepository”的bean时出错:调用init方法失败;嵌套异常是 java.lang.IllegalArgumentException: 无法为方法 public abstract java.util.List com.test.base.repository.TestRespositoryCustom.findResultByCodeAndProfile(java.lang.String,java.lang.String) 创建查询!找不到类型 Test 的属性 findResultByCodeAndProfile!

...................................

............ 47个常见框架省略 原因:org.springframework.data.mapping.PropertyReferenceException:没有找到类型Test的属性findResultByCodeAndProfile!在 org.springframework.data.mapping.PropertyPath.(PropertyPath.java:94) ~[spring-data-commons-2.1.5.RELEASE.jar:2.1.5.RELEASE] 在 org.springframework.data.mapping.PropertyPath .create(PropertyPath.java:382) ~[spring-data-commons-2.1.5.RELEASE.jar:2.1.5.RELEASE]*

我的服务类正在调用调用接口 TestRespositoryCustom 的 findResultByCodeAndProfile 方法,该方法的实现在 TestRespositoryImpl 类的下面。

“Test.java 是实体类”

——服务等级。

@Autowired
TestRepository testRepository;

     public void getHotelProfileLatestTest(String hotelCode)
    {
        List<TestDto> testList = testRepository.findResultByCodeAndProfile(secondaryCode, "profile");
        //
        //
    }

--TestRepository 接口

public interface TestRepository extends BaseRepository<Test, Long>, TestRepositoryCustom {

    {
    @Query(TestQueries.NOTE_QRY)
    Page<TestDto> getHistory(@Param("Key") String Key,
            @Param("Value") String Value);
    }

-- BaseRepository 接口。

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

}

--TestRespositoryCustom

public interface TestRespositoryCustom
{
    public List<TestDto> findResultByCodeAndProfile(String testObjKey, String testObjValue);
}

--TestRespositoryImpl

public class TestRespositoryImpl extends BaseRepositoryCustom implements TestRespositoryCustom
{
   @Override
    public List<TestDto> findResultByCodeAndProfile(String testObjKey, String testObjValue)
    {
        String sql = TC_NOTE_QRY;
        Query query = entityManager.createQuery(sql);
        query.setMaxResults(3);
        query.setParameter("testObjKey", testObjKey);
        query.setParameter("testObjValue", testObjValue);
        return (List) query.getResultList();
    }

-- BaseRepositoryCustom

public class BaseRepositoryCustom {

    @Value("${spring.jpa.properties.hibernate.default_schema}")
    public String defaultSchema;

    @PersistenceContext
    protected EntityManager entityManager;

}
4

0 回答 0