Chapter 3. Reverse Engineering the Domain Layer with JPA
The domain layer represents the real-world entities that model the heart of your application. At the highest level, the domain layer represents the application's business domain and fully describes the entities, their attributes, and their relationships with one another. At its most basic level, the domain layer is a set of Plain Old Java Objects (POJOs) that define the Java representation of the database tables being mapped onto your application. This mapping is achieved through JPA.
The Java Persistence API (JPA) is one of the most significant advances in the Java EE 5 platform, replacing the complex and cumbersome entity beans with the far simpler POJO-based programming model. JPA provides a standard set of rules for Object Relational Mapping (ORM), which are simple, intuitive, and easy to learn. Database relationships, attributes, and constraints are mapped onto POJOs using JPA annotations.
In this chapter we will do the following:
- Reverse engineer the 3T database using the NetBeans IDE
- Explore and define JPA annotations for our domain layer
- Introduce the Java Persistence Query Language (JPQL)