1.3. Persistence layers and alternatives

In a medium- or large-sized application, it usually makes sense to organize classes by concern. Persistence is one concern; others include presentation, workflow, and business logic.[] A typical object-oriented architecture includes layers of code that represent the concerns. It's normal and certainly best practice to group all classes and components responsible for persistence into a separate persistence layer in a layered system architecture.

[] 1 There are also the so-called cross-cutting concerns, which may be implemented generically—by framework code, for example. Typical cross-cutting concerns include logging, authorization, and transaction demarcation.

In this section, we first look at the layers ...

Get Java Persistence with Hibernate now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.