Java 在JPA存储库中执行自定义方法时出现异常

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您的实现

Spring在启动时实现您在UserRepository接口中编写的方法。在扩展JpaRepository的存储库中,不允许编写任何不符合Spring数据JPA的自定义方法。因此,虽然spring获取UserRepository的方法列表,但它也会获取自定义方法,这与SpringJPA存储库的语法不同。所以它抛出异常。

您想做什么?向JPA Repository添加自定义方法为什么要这样做?您想做什么?您没有遵循自定义存储库的命名约定。您的接口命名为
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!