Applications usually need some type of external data source, from a Relational Database Management System (RDBMS) to the classical "quick-and-dirty" approach of using text files to store data.
Suitable mechanisms to access many of these data sources from Java have been widely documented. But some Java frameworks require special treatment, depending on the access strategy and data source being used.
Such is the case with the Java Persistence API (JPA) in the context of the Spring Framework accessing an RDBMS, which as illustrated in Chapter 2 requires the use of special weaving classes.
In Chapter 5 you also used JPA, but in the context of OSGi using the SpringSource dm Server, ...