Java 在JPA存储库中执行自定义方法时出现异常
Spring在启动时实现您在UserRepository接口中编写的方法。在扩展JpaRepository的存储库中,不允许编写任何不符合Spring数据JPA的自定义方法。因此,虽然spring获取UserRepository的方法列表,但它也会获取自定义方法,这与SpringJPA存储库的语法不同。所以它抛出异常。您想做什么?向JPA Repository添加自定义方法为什么要这样做?您想做什么?您没有遵循自定义存储库的命名约定。您的接口命名为Java 在JPA存储库中执行自定义方法时出现异常,java,spring-boot,spring-data-jpa,spring-data-rest,Java,Spring Boot,Spring Data Jpa,Spring Data Rest,Spring在启动时实现您在UserRepository接口中编写的方法。在扩展JpaRepository的存储库中,不允许编写任何不符合Spring数据JPA的自定义方法。因此,虽然spring获取UserRepository的方法列表,但它也会获取自定义方法,这与SpringJPA存储库的语法不同。所以它抛出异常。您想做什么?向JPA Repository添加自定义方法为什么要这样做?您想做什么?您没有遵循自定义存储库的命名约定。您的接口命名为UserRepositoryCustom您的实现
UserRepositoryCustom
您的实现必须命名为UserRepositoryCustomImpl
,因为有明确的文档记录,您可以自己实现部分接口。看见
public class UserRepositoryImpl implements UserRepositoryCustom<User, Long> {
@Override
public void customMethod(User user) {
}
}
public interface UserRepositoryCustom<T, ID extends Serializable> {
void customMethod(User user);
}
@RepositoryRestResource
public interface UserRepository extends JpaRepository<User, Long>,
UserRepositoryCustom<User, Long> {
}
Caused by: org.springframework.data.mapping.PropertyReferenceException: No property customMethod found for type User!