Repository is not a Data Access Object (DAO). Repository represents collection, and DAOs are more focused on Database structure and are far more table-centric. Typically a DAO would contain CRUD methods for particular domain object
- repository is an implementation of a specific type of collection, called Set. Set is a data-structure with an invariant that does not contain duplicate entries