Частичное обновление без извлечения объекта из БД

#spring-boot #spring-mvc #spring-data-jpa #spring-data

#весенняя загрузка #spring-mvc #spring-data-jpa #весна-данные

Вопрос:

Я ищу какой-либо способ частичного обновления объекта без извлечения объекта из базы данных. Допустим, у меня есть объект Employee, содержащий следующие свойства —

  1. FirstName
  2. Фамилия
  3. телефон
  4. возраст
  5. зарплата

JSON, который я получаю в запросе на обновление, может содержать не все свойства. Мне нужно убедиться, что я обновляю только свойства, указанные в запросе, и оставляю все остальные данные без изменений.

Я исследовал некоторые способы достижения частичного обновления, но все они включают извлечение данных из базы данных. У меня нет этой опции, поскольку БД в моем случае работает слишком медленно, и это увеличит время отклика. Пожалуйста, предложите

Комментарии:

1. Как вы можете обновить без первичного ключа?

2. Вы должны получить исходные данные из базы данных с помощью первичного ключа, который обновляет сотрудник: — Убедитесь, что запись, которую вы пытаетесь обновить, действительна — Вы будете обновлять только поля, которые присутствуют в теле запроса, что является хорошим подходом

Ответ №1:

Вы можете объединить @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);

  

Для получения дополнительной информации вы можете ознакомиться с этой статьей

Комментарии:

1. Где вы получаете идентификатор?

2. Спасибо за уведомление, я пропустил, что во время написания я отредактировал свой ответ.