У меня есть следующие настройки:
- приложение весенней загрузки делает пост-запрос на вставку объекта, используя hibernate, в таблицу postgresql TableA;
- что определенная таблица postgresql имеет триггер, который при определенных условиях запускает функцию, которая выполняет вставку в TableB;
- TableB имеет 2 триггера: первый использует функцию прослушивания / уведомления для отправки уведомлений на веб-сокет после вставки в TableB, а второй использует функцию для вставки в TableC
Проблема: если первая вставка, которую клиент выполняет в таблице А, прошла успешно, он получает 200 кодов, но в будущем возможны еще две вставки.
Если проблема возникает во время одной из следующих вставок, клиент видит код 200, но пропустил важные данные.
Моя логика говорит, что это должно быть заключено в сущность типа транзакции «все или ничего», но как мне это сделать?
С уважением,
EDIT1: Я только что сделал тест, я аннотировал первый метод пост-запроса с помощью @Transactional, и во время следующих вставок, если он обнаружит какую-либо ошибку и какая-либо из вставок не будет выполнена, клиенту будет возвращено 500 кодов ошибок. Извините, что потратил ваше время.