Репозитории обычно не должны работать в своих собственных независимых транзакционных единицах, поэтому они чаще всего используют «существующие» подключения к базе данных. Таким образом, вы можете выполнять несколько операций с хранилищем (база данных!) В одной транзакции.
Как это реализовать, зависит от вашей платформы разработки. Например, в Java EE есть способы внедрения текущего Entity Manager в объекты или способы его получения с помощью кода. Вы также можете реализовать это вручную, сохранив ссылку в локальном хранилище потока .