Имеется:
1. Клиентское приложение
2. Слой CRUD - только базовые операции никакой бизнесс-логики
3. Buisness workflow - бизнесс операции состоящие из списка вызовов 2-го слоя + логика
Вот и встал вопрос кто должен инициировать создание транзакции? И кто ее должен закоммитить
Либо в клиенском приложении, и тогда нужно будет на 3-м слое создать 2 метода - открытие и закрытие транзакции. Либо все это делать на 3-м слое. Или должен быть еще какой-то слой, который будет всем этим рулить.