In this chapter we looked in depth at implementing Repositories.
• You learned about collection-oriented and persistence-oriented Repositories, and why to use one or the other.
• You saw how to implement Repositories for Hibernate, TopLink, Coherence, and MongoDB.
• You investigated why you might need additional behavior on a Repository’s interface.
• You considered how transactions play into the use of Repositories.
• You are now familiar with the challenges of designing Repositories for type hierarchies.
• You looked at some fundamental differences between Repositories and Data Access Objects.
• You saw how to test Repositories and different ways to test using Repositories.
Next, we’ll shift gears and take a careful look at integrating ...