找不到Spring数据jpa存储库属性

时间:2015-04-13 20:02:25

标签: spring jpa spring-boot spring-data spring-data-jpa

我是Spring Data JPA的新手。我试图为存储库创建一个自定义方法,但它确实抛出异常。这是我目前的实施:

public interface EmployeeRepository extends
CrudRepository<Employee, Long>,EmployeeRepositoryCustom {

}

@Repository
public interface EmployeeRepositoryCustom {

    public void updateEmployee(String field, String value,long id);
}

public class EmployeeRepositoryImpl implements EmployeeRepositoryCustom {

    @PersistenceContext 
    private EntityManager entityManager;

    @Override
    public void updateEmployee(String field, String value, long id) {
        // Implementation goes here
    }

}

这是我启动应用程序时发生的异常(我正在使用Spring启动)。

Caused by: org.springframework.data.mapping.PropertyReferenceException: No property updateEmployee found for type Employee!
        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)

1 个答案:

答案 0 :(得分:0)

由于您已标记spring-boot,我假设您使用的是spring-boot。如果是这样,您可以尝试以下方法。

@Repository
public interface EmployeeRepositoryCustom {

@Modifying
@Query(value = "update Employee query", nativeQuery = true)
public void updateEmployee(String field, String value,long id);

}

您不需要具有实现,并且您可以在上面的查询中使用命名参数。 Spring-boot将处理休息。