Introduction to JPA

Introduction to Java Persistence Architecture Training

The Introduction to JPA training course provides an in-depth exploration of database driven development using JPA both inside and outside of an Java EE container.

The course begins with a review of common database programming techniques, including JDBC and RowSets. It then examines how ORM frameworks and technologies simplify database development. Once the foundational knowledge is created, then the course transitions into building database driven solutions using JPA.

Along the way, you’ll learn key JPA concepts, like an EntityManager, how to create advanced queries using JPQL, and examine how to structure complex entity relationships. The course concludes with a discussion about transactions.

The Introduction to JPA training course can be taught using OpenJPA, Hibernate, or EclipseLink as the JPA provider.

Course Summary

Purpose: 
Learn how to build Java EE and Java SE database driven applications using the Java Persistence Architecture (JPA).
Audience: 
Experienced Java programmers familiar with JDBC and database development.
Skill Level: 
Learning Style: 

Hands-on training is customized, instructor-led training with an in-depth presentation of a technology and its concepts, featuring such topics as Java, OOAD, and Open Source.

Hands On help
Duration: 
2 Days
Productivity Objectives: 
  • Describe JPA and its capabilities
  • Understand the advantages and disadvantages of ORM frameworks
  • Configure persistence context inside and outside of a container
  • Implement a basic CRUD application using JPA
  • Map complex database schemas to JPA Entities
  • Create robust queries using JPQL and Native SQL
Introduction to JPA is part of the J2EE Training / Java EE Training curriculum.
All of our Java EE courses can delivered using Java EE 5, Java EE 6 or Java EE 7. The Introduction to JPA training course can be taught using the Java IDE - NetBeans, Eclipse, IntelliJ, etc. *and* Java EE Application Server (JBoss, Glassfish , WebLogic , WebSphere , Tomcat, etc.) of your choice.

What You'll Learn

In the Introduction to JPA training course, you’ll learn:

  • Review of Database Concepts
    • Review of using JDBC to perform CRUD operations
    • Advanced JDBC development using meta-data capabilities
    • Performing ORM with JDBC and JavaBeans
  • What is JPA?
    • Review of ORM problem
    • Examining industry attempts to solve problem
    • Resolving the relationship between Hibernate and JPA
  • Core JPA Concepts
    • What is JPA?
    • Overview of key concepts and terms
    • Persistence units, Entities, and EntityManagers
    • EntityManagerFactories, JPA QL, and the JPA Criteria queries
  • Configuring JPA
    • 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
  • Creating a Basic JPA CRUD Application
    • 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
  • Overview of Mapping Concepts
    • 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
  • Implementing Mapping Concepts
    • 1-1 Mapping
    • 1-N Mapping
    • N-1 Mapping
    • N-N Mapping
  • Object Relational Mappings
    • Applying OO design to mappings
    • Collection mapping
    • Inheritance mappings
    • Overriding “defaults”
  • Advance Mapping Configurations
    • Understanding “conventions”
    • Building a solution using “configuration over convention”
    • Working with configuration annotations
  • Introduction to JPA QL
    • 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
  • Understanding Types of Queries Supported by JPA QL
    • Creating dynamic run-time queries
    • Creating compile-time named queries
    • Creating native-queries
    • Creating stored procedures
  • Integrating JPA with Java EE
    • 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

Meet Your Instructor

picture of Kelby Z
Kelby Zorgdrager

Kelby Zorgdrager’s expertise in Java, Open Source, and software development have allowed him to be a guest speaker at JavaOne, Java University, Comdex, IEEE Software Conference, and the Colorado Software Summit.

Kelby has also served as a guest author for both IBM and Sun/Oracle’s developer sites. Furthering his passion to help people learn, Kelby served as a technical editor for the bestselling book, Advanced Java: How to Program,...

Meet Kelby Zorgdrager »
Michael headshot
Michael

Michael is a practicing software developer, course developer, and trainer with DevelopIntelligence. For the majority of his career, Michael has designed and implemented large-scale, enterprise-grade, Java-based applications at major telecommunications and Internet companies, such as Level3 Communications, US West/Qwest/Century Link, Orbitz, and others.

Michael has a passion for learning new technologies, patterns, and paradigms (or, he has a tendency to get bored or disappointed with current ones)....

Meet Michael »
Daniel pic
Daniel

Daniel has been a self-employed developer, teacher and speaker for private businesses, education and government entities since 1999. Daniel also actively teaches programming for the University of New Mexico Continuing Education.

Daniel is a Pomodoro Technique practitioner, and co-founder of the Albuquerque Java User’s Group in Albuquerque, New Mexico. When he’s not supporting other local Java developers, Daniel spends most of his waking hours developing in and around the Java ecosystem, encompassing...

Meet Daniel »
Jean Photo
Jean

Jean brings years of development experience into her teaching, making the learning experience practical for her students. Originally a Smalltalk developer, Jean has an expansive knowledge of object-oriented (OO) development, analysis, and design. Jean has worked in every stage of the software development process for a variety of businesses – from small non-profits, to government agencies, to global enterprises.

Jean was also one of the top instructors at Sun Microsystems in North America and Europe....

Meet Jean »
Anil Photo
Anil

Anil is a seasoned software engineer with over 16 years of Java development experience.

Anil started his career as a Unix programmer, slinging C-code, writing shell scripts, and teaching others how to use Unix back when Unix was still a toddler. Anil’s expertise in Unix, C, and C++ allowed him to become a member of Technical Staff at ATT / Bell labs. During his tenure at Bell Labs, Anil led the creation of software tools that simulated network traffic, in particular, cellular...

Meet Anil »
Michael Photo
Michael

Michael owns and operates Inkling Research, a consulting group of technical specialists. His work experience includes systems administration, application and operating system development, and the design and deployment of several network and storage-based systems. Michael is a seasoned instructor with 18 years experience in training, course development, mentoring, and practice management. His educational credentials include a B.A. from UC Davis, an M.A from Kent State University, and doctoral coursework at Claremont...

Meet Michael »
Marnie picture
Marnie

Marnie brings 15 years of experience delivering programming related training. During that time she has taught for top-technology companies including: Sun (and later Oracle) certified Java classes, RedHat Certified JBoss administration courses, Spring Source Certified Spring and Hibernate courses. Her classes have run the gamut from introduction to programming classes to Java EE web services and much of the Java EE stack in between.

She has a passion for teaching, which is evident in her presentations and...

Meet Marnie »

Resources

Suggested Reference Texts: 

Contact us to learn more

Not all training courses are created equal. Let the customization process begin! We'll work with you to design a custom Introduction to JPA training course that meets your specific needs.

DevelopIntelligence has been in the technical/software development learning and training industry for nearly 20 years. We’ve provided learning solutions to more than 48,000 engineers, across 220 organizations worldwide.

About Develop Intelligence
Di Clients

surveyask

Need help finding the right learning solution?   Call us: 877-629-5631