Как лучше реализовать безопасное управление данными?
Уровень доступа к данным в моем приложении разбит на множество модулей. Каждый модуль отвечает за какой-то конкретный набор сущностей.
В коде, описывающем логику приложения, иногда будут возникать ситуации, когда будет вестись работа с несколькими модулями уровня данных. Как быть в тех случаях, когда необходимо выполнить несколько операций с данными последовательно? Предположим, я добавляю сущность 1 (модуль А), затем 2 (модуль Б) и 3 (модуль В). Как лучше производить rollback, если при добавлении какой-либо сущности произошла ошибка? Модули уровня данных могут хранить данные в разных БД.