#spring-boot #spring-mvc #spring-data-jpa #spring-data
#весенняя загрузка #spring-mvc #spring-data-jpa #весна-данные
Вопрос:
Я ищу какой-либо способ частичного обновления объекта без извлечения объекта из базы данных. Допустим, у меня есть объект Employee, содержащий следующие свойства —
- FirstName
- Фамилия
- телефон
- возраст
- зарплата
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. Спасибо за уведомление, я пропустил, что во время написания я отредактировал свой ответ.