Up to this point, this book has focused on the web tier. Now let's look at the persistence tier. This is where the application data is stored for the long termfor example, between server restarts.
Why use the phrase "persistence tier" instead of simply calling it the "database tier"? We certainly recognize that the probability of information ending up in a database approaches is somewhere close to 100%. J2EE pundits love pointing out that data could be stored in any number of mannersas flat files, XML, and even web services to remote servers. These types of storage are mentioned as alternatives, but we have yet to work on an application where they completely usurp the trusty database.
Instead, most modern persistence technologies deal with transforming relational database information into Java objects. These Object/Relational Mappers (ORMs) come in many flavorscommercial and open sourcebut make the same promise: to free the Java developer from the perils of converting ResultSets to ArrayLists of DTOs.
We continue to use the phrase "persistence tier" to remind us that many supporting services surround the inevitable database.