首页 > 解决方案 > 部分更新而不从数据库中检索对象

问题描述

我正在寻找某种方法来部分更新对象而不从数据库中检索对象。假设我有一个包含以下属性的 Employee 实体 -

  1. 电话
  2. 年龄
  3. 薪水

我在更新请求中获得的 JSON 可能不包含所有属性。我需要确保只更新请求中提供的属性,并保持所有其他数据不变。

我探索了一些实现部分更新的方法,但所有这些方法都涉及从数据库中检索数据。我没有这个选项,因为我的数据库太慢了,这会增加响应时间。请建议

标签: spring-bootspring-mvcspring-data-jpaspring-data

解决方案


您可以结合@Modifying@Query注释来发出更新查询

@Modifying
@Query("update Employee e set e.firstName = :firstName, e.lastName = :lastName where e.id = :id")
void updateEmployeePartially(Long id, String firstName, String lastName);

有关更多信息,您可以查看这篇文章


推荐阅读