Отвечу, возможно, запоздало, но всё же
Все приведённые паттерны, описанные Фаулером, неплохо работают вместе во многих современных инструментах ORM, например,
Hibernate. Настоятельно рекомендую к ознакомлению хотя бы пару начальных глав
руководства пользователя, чтобы представлять как эти концепции ложатся на практичный API.
В частности на уровне API:
* Data Mapper, Unit of Work, Repository -> Session
* Query Object -> Criteria/Query
* Metadata Mapping -> определения в *.hbm.xml или в аннотациях