‹ Back To Training

Introduction to JPA

Timeline: 2 Days

Topics

Expand All › ‹ Collapse All

  • Review of using JDBC to perform CRUD operations
  • Advanced JDBC development using meta-data capabilities
  • Performing ORM with JDBC and JavaBeans
  • Review of ORM problem
  • Examining industry attempts to solve problem
  • Resolving the relationship between Hibernate and JPA
  • What is JPA?
  • Overview of key concepts and terms
  • Persistence units, Entities, and EntityManagers
  • EntityManagerFactories, JPA QL, and the JPA Criteria queries
  • Setting up the environment to work with JPA and a persistence provider
  • Creating a persistence.xml file
  • Defining a persistence provider
  • Defining a persistence unit using JDBC connection strings and pooling
  • Defining a persistence unit using data sets
  • Using Hibernate as a persistence provider
  • Using EclipseLink as a persistence provider
  • Choosing the best configuration style
  • Review of Java annotations
  • Review of Dependency Injection
  • Creating an Entity
  • Associating Entity with EntityManager
  • Performing CRUD with an EntityManager
  • Understanding Entity states
  • Performing basic Primary Key querying
  • Types of relationships
  • Creating relationships using Primary Keys and Foreign Keys
  • Defining associations using cardinality
  • Identifying annotations used to build basic relationships
  • Using type converters
  • 1-1 Mapping
  • 1-N Mapping
  • N-1 Mapping
  • N-N Mapping
  • Applying OO design to mappings
  • Collection mapping
  • Inheritance mappings
  • Overriding “defaults”
  • Understanding “conventions”
  • Building a solution using “configuration over convention”
  • Working with configuration annotations
  • Review of querying concepts
  • Simple queries and conditions, Joins, Inner Joins, Outer Joins, Order by
  • What is JPA QL?
  • JPA QL syntax, structure, and functions
  • Creating dynamic run-time queries
  • Creating compile-time named queries
  • Creating native-queries
  • Creating stored procedures
  • Configuring JPA with the app server
  • Using resource injection (CDI) to access a persistence unit
  • JPA within the JSP / Servlet container
  • JPA Within the EJB Container