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?