A transaction boundary defines the scope within which a group of database operations succeeds or fails together.
My current understanding
A transaction should normally correspond to a meaningful application operation rather than an individual repository call.
Consider an operation containing several persistence steps:
If fails, the application may need and to roll back as part of the same transaction.
Connections
This connects directly to Repository Pattern and the service layer.
Questions
- When should transaction management be declarative?
- How should nested application operations behave?
- Where does Unit of Work fit?