Встречается на собеседованиях • сегодня

Есть ли в JPA репозитории метод update

В JPA репозитории нет стандартного метода update, так как JPA работает с управляемыми сущностями (managed entities). Изменения автоматически отслеживаются и синхронизируются с БД при вызове flush() или завершении транзакции.

Однако можно использовать:

  1. save() – если сущность существует, она будет обновлена.
  2. Нативные запросы через @Modifying + @Query.

Пример обновления через save():

java
User user = userRepository.findById(1L).orElseThrow();
user.setName("New Name");
userRepository.save(user); // merge произойдет автоматически

Пример нативного обновления:

java
@Modifying
@Query("UPDATE User u SET u.name = :name WHERE u.id = :id")
void updateName(@Param("id") Long id, @Param("name") String name);

Важно: @Modifying требует @Transactional на уровне метода или сервиса.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы