JPA with Spring Boot

JPA is one of Java's persistence frameworks in order to access relational data in an effective way. It offers a complete object-relational mapping solution to this end. Spring Boot will help you making it even more efficient, by adding JPA repositories, and by simplifying the configuration.

The purpose of this course is to show the participant how a Java application can be mapped to a relational database schema with the use of Spring Boot and JPA.

Schedule

No public sessions are currently scheduled. We will be pleased to set up an on-site course or to schedule an extra public session (in case of a sufficient number of candidates). Interested? Please contact ABIS.

Intended for

Architects, designers and programmers who are interested in object-relational mapping, using Spring and JPA.

Background

Knowledge of Java programming (see course Java programming), Spring fundamentals (see course Spring fundamentals) and relational databases (see course SQL and relational databases fundamentals) is required.

Main topics

  • Introduction to ORM and JPA

Persisting objects • O/R mapping (ORM) • Features of persistence mechanisms • JPA

  • Spring Boot JPA basics

Spring's JPA integration • Spring JPA Hello World

  • JPA Architecture and Configuration

JPA architecture • Configuring data sources • Simplifications from Spring Boot • Extra configuration options

  • Basic O/R Mapping and JPA repositories

Mapping concepts • Class to table mapping • Object identity • Property mapping

JPA repositories • Repository interfaces and Query methods • Spring Data JUnit testing

  • Mapping Associations

Value types • One class for two tables

Association mapping : one-to-one, many-to-one, one-to-many, many-to-many

Cascade and fetching strategies

  • Querying

@Query • JPQL (JPA Query Language) • Named and native queries •

Changing the "select" object • Using DTOs and mappers

  • Transactions and Exception Handling

Exception Handling • Modifying queries

Transaction definitions • Declarative and programmatic transactions

  • Advanced Topics

Mapping collections • Hierarchy mapping • Advanced fetching strategies • Caching

Training method

Lecture and hands-on exercises. The participants will work with Java applications accessing H2 and Oracle databases.

Duration

3 days.

Course leader

Sandy Schillebeeckx.


SESSION INFO AND ENROLMENT