A repository provides an application-oriented interface over persistence.

Current question

A repository can perform database operations, but should it decide when the entire application transaction begins and commits?

That question leads directly to Transaction Boundaries .