566 читали · 2 года назад
Java 192. Как «под капотом» работает @Transactional?
Аннотация @Transactional в Spring Framework предоставляет абстракцию управления транзакциями базы данных. Она позволяет гарантировать целостность данных при выполнении операций в базе данных и обеспечивает откат изменений в случае возникновения ошибок. Когда метод помечен аннотацией @Transactional, Spring создает прокси-объект для этого метода, который обеспечивает управление транзакцией. При вызове метода, Spring начинает новую транзакцию в базе данных и выполняет код метода в рамках этой транзакции...
Аннотация Transactional и вызов метода из других методов того же класса
Зачастую в обучающих материалах по Transactional в Spring можно встретить категоричные утверждения о том, что транзакционные методы необходимо выносить в отдельный бин, т.к. при вызове из того же класса транзакция не создастся. Так ли бесспорна такая категоричность? Давайте посмотрим, что на это ответит DeepSeek. Позволим ему рассуждать, это поможет глубже понять ответ и подскажет направления для дополнительного изучения. Итак, рассуждения DeepSeek: Хорошо, пользователь спрашивает о том, как в Java классе вызвать метод с аннотацией @Transactional из другого метода того же класса...
6 месяцев назад
Путеводитель по техническим транзакциям с Camunda 8 и Spring
Интересно, как работают технические транзакции с Camunda и фреймворком Spring? Узнайте больше о транзакционном поведении в этом блоге. Мы регулярно отвечаем на вопросы о том, как работают технические транзакции при использовании Camunda (в последней версии 8.x) и фреймворка Spring. Например, что происходит, если у вас есть две сервисные задачи, и второй вызов завершается с ошибкой? В этом блоге я опишу типичные сценарии, чтобы сделать поведение более наглядным. Я буду использовать примеры кода на Java 17, Camunda 8...