При сохранении AndFlush изменения в этой команде сразу обновляются в базе данных. При сохранении это не обязательно так и может оставаться в памяти только до тех пор, пока не будет выпущена команда на промывку или коммит.
Однако обратите внимание, что даже если вы обновляете изменения в транзакции и не фиксируете их, изменения всё равно не будут видны внешней транзакции, пока не будут фиксированы в этой транзакции.
В вашем случае, возможно, вы используете какой-то механизм транзакции, который выдаст команду фиксации, если всё в порядке.
Используйте метод JPA saveAndFlush()
Реализация увеличения и модификации
Примечание: управляющий слой должен фильтровать параметры,
saveAndFlush Этот метод сначала определяет, использовать ли метод сохранения или метод слияния на основе ID==null Он решит, использовать ли вставку или обновление, исходя из того, зафиксирован ли идентификатор в базе данных
Мы рассматриваем разницу, декомпилируя исходный код Java
IDEA_ ярлык для поиска реализации интерфейса
Ctrl в стиле IDEA + alt +B
Ctrl в стиле Eclipse +T
Интерфейс сохранения:
Метод реализации:
Интерфейс Save AndFlush:
Метод реализации:
Как видно из исходного кода, вызывая метод saveAndFlush,saveAndFlush вызывает наш метод сохранения, а затем метод смыва。
(Конец)
|