Data access layer
Data access layer
The data access layer is responsible for saving and retrieving data from persistent storage. The majority of persistent data in Elastic Path is stored in the database using the OpenJPA implementation of the Java Persistence API (JPA). A small number of configuration files are persisted directly to the file system using XML and properties files. Objects that are aware of persistence implementation details such as file formats or whether data exists in a database are called Data Access Objects (DAO).
Separation of persistence API and OpenJPA specific Implementation
The ep-persistence-api module contains the generic Elastic Path persistence interfaces, abstract superclasses and persistence-related utility classes. OpenJPA specific implementations of these can be found in the ep-persistence-openjpa module. This keeps the code using the persistence API decoupled from the actual implementation detail which allows for easier customizations and implementation enhancements in the future.
OpenJPA object/relational persistence
OpenJPA is a persistence service that maps objects to tables in a relational database. For more information, see the Java Persistence API (JPA) section.