Выбор ответа Middle Spring Data JPA обновлено
Результат save
Вопрос
Почему правильно писать order = repo.save(order), а не просто repo.save(order)?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Для существующей сущности merge вернёт другой, управляемый объект. merge копирует состояние в управляемый экземпляр и возвращает его, а переданный объект остаётся отсоединённым.
Варианты ответа
- Для существующей сущности merge вернёт другой, управляемый объектправильный ответ
- Иначе save не выполнится: результат обязательно нужно присвоить
- Это требование для генерации id: он появится только в возвращённом
- Разницы нет, это вопрос стиля и единообразия кода
Разбор
merge копирует состояние в управляемый экземпляр и возвращает его, а переданный объект остаётся отсоединённым. Если дальше менять исходный объект, изменения не попадут в базу. Для новой сущности (persist) вернётся тот же объект, но полагаться на это не стоит. Сам save выполняется в любом случае.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.