В проекте Spring + Hibernate.Если метод аннотирован @Transactional, и метод выполнит пакетную операцию DB GET, затем обработает результат запроса и, наконец, ОБНОВИТ обратно в БД.
Что именно этот @Transactional делает здесь?
Так как я знаю, что реализации Spring JpaRepository уже транзакционны для операций CRUD, и я согласен, что аннотированный метод откатит изменения в БД в случае исключений времени выполнения.Но что, если обновление произошло на последнем шаге метода?
Второй вопрос касается подключения к БД.Я не уверен, с какой точки (может быть, первая операция с БД?) Он будет проверять соединение из пула, но будет ли метод удерживать соединение до конца выполнения?
Если я удалю аннотациюв моем случае это вызовет какие-либо проблемы?Спасибо!
Я нашел похожий вопрос здесь , однако принятый ответ, похоже, не имеет смысла для меня.