Should a Repository cache objects?
Repositories are for retrieving or saving already existing entities. Not for creating new ones. This means the workflow of creating new objects should consist first of a call to a factory, then to a repository save functionality.
/
Cant you use a different type of factory in a repository?