This course teaches students the Java specification for persisting objects to the database. It does so through Hibernate - the most popular JPA implementation and object-relational mapping framework for Java environments. Object relational mapping in large enterprise applications is difficult. The task is so difficult that the problem of storing and retrieving objects to a relational database has its own name - impedance mismatch.
In this class, students learn object-relational mapping concepts and the various issues and options available in Java to address object persistence. With these fundamentals, the course then explores the basics of JPA/Hibernate object persistence and configuration. It also digs into the details of mapping, queries, transactions, and concurrency.
Not just a class that focuses on theory, this course is loaded with practical labs and deals with maintenance and performance issues. After taking this class, developers will be able to build faster, more flexible and easier to maintain application persistence layers and overcome impedance mismatch with JPA implementations like the Hibernate framework.
- Understand the challenges of mapping objects to relational databases
- Learn the architecture of Hibernate and JPA
- Know how to setup and configure Hibernate and/or JPA for a Java project
- Learn to map Java classes and object associations to relational database tables with JPA and Hibernate annotations
- Learn to map Java classes and object associations to relational database tables with Hibernate or JPA XML mapping files
- Study strategies for mapping Java inheritance trees to relational database tables
- Learn the Hibernate Query Language, Java Persistence Query Language and Criteria for retrieving Java objects
- Explore how to manage database transactions
- Look at optimistic and pessimistic concurrency options provided by Hibernate and JPA
This class is designed for Java programmers with a need to understand the Java persistence provided by Hibernate or JPA framework and API.