我已经按照这个问题的答案,向Spring Data JpaRespository添加了一个带有单个自定义方法的自定义接口;
然而现在我得到了以下错误信息;
Caused by: org.springframework.data.mapping.PropertyReferenceException: No property customMethod found for type Account!
at org.springframework.data.mapping.PropertyPath.<init>(PropertyPath.java:75)
at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:327)
at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:307)
at org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:270)
at org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:241)
at org.springframework.data.repository.query.parser.Part.<init>(Part.java:76)
这似乎是因为Spring Data试图为“customMethod”生成查询,认为它是“Account”的属性。
我如何停止自动为给定方法生成查询?
更新 我的代码具体如下;
public interface CacheInvalidatingRepo<T> {
public void invalidateCache(T obj);
}
@Component
public class CacheInvalidatingRepoImpl<T> implements CacheInvalidatingRepo<T> {
@Override
public void invalidateCache(T obj) {
// kill the entity manager cache
}
}
public interface VerificationRepo extends JpaRepository<Verification, BigInteger>, JpaSpecificationExecutor<Verification>, CacheInvalidatingRepo<Verification> {
}
以下是结果:
Caused by: org.springframework.data.mapping.PropertyReferenceException: No property invalidateCachefound for type Verification!
at org.springframework.data.mapping.PropertyPath.<init>(PropertyPath.java:75)
at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:327)
at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:307)
at org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:270)
at org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:241)
at org.springframework.data.repository.query.parser.Part.<init>(Part.java:76)
AccountRepository
,那么实现类的名称应该是AccountRepositoryImpl
。 - Nitin Arora