当前位置: 首页 > 知识库问答 >
问题:

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

左丘嘉木
2023-03-14

我是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个答案

皇甫德庸
2023-03-14

既然您已经标记了< code>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);

}

您不需要有一个实现,您可以在上面的查询中有命名的参数。< code>Spring-boot将处理rest。

 类似资料:
  • 它是否将其存储在缓存中?我有一个应用程序,但应用程序中没有任何地方。属性是提到的db详细信息。我可以通过邮递员存储数据和查询它。

  • 我在使用JPA时遇到了一些困难。我没有得到任何异常,但我不能保存任何东西到数据库。我从Hibernate到Jpa,在那里一切都工作得很好。下面是我的文件 Application.Properties: 存储库: 服务: 我在提交表单时得到了200的响应,但在数据库中找不到数据

  • 我试图实现一个自定义Spring存储库。我有接口: 实施: 和“主”存储库,扩展我的自定义存储库: 我使用的是Spring Boot,根据文档: 默认情况下,Spring Boot将启用JPA存储库支持,并查看@SpringBootApplication所在的包(及其子包)。 当我运行应用程序时,出现以下错误: 组织。springframework。数据映射。PropertyReferenceEx

  • 是否有一种方法可以使通用Spring数据JPA存储库正确处理类似的方法?例如只返回狗,而不返回所有动物?或者至少,最好的变通方法是什么? 它的工作几乎完美,保存每一个动物在自己的桌子上,等等。唯一的问题是:同时返回水豚和狗。这个答案解释说: 这只有在域类使用单表继承时才起作用。我们在引导时能得到的关于domain类的唯一信息是它将是Product对象。因此,对于像findAll()甚至findBy

  • 对于方法,如果我发送空白,它可以工作,但值为null。而且,要搜索的字段太多了。所以我正在寻找一种更好的方法来搜索这样的表单。在Grails框架中,我可以为此创建名称,但在中没有找到更好的方法。 有什么想法吗?谢了。