我是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)
既然您已经标记了< 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框架中,我可以为此创建名称,但在中没有找到更好的方法。 有什么想法吗?谢了。