1 Understanding object/relational persistence


This chapter covers

  • Persisting with SQL databases in Java applications
  • Analyzing the object/relational paradigm mismatch
  • Introducing ORM, JPA, Hibernate, and Spring Data

This book is about JPA, Hibernate, and Spring Data; our focus is on using Hibernate as a provider of the Jakarta Persistence API (formerly Java Persistence API) and Spring Data as a Spring-based programming model for data access. We’ll cover basic and advanced features and describe some ways to develop new applications using the Java Persistence API. Often these recommendations aren’t specific to Hibernate or Spring Data. Sometimes they’re our own ideas about the best ways to do things when working with persistent data, explained in the context of Hibernate and Spring Data.

1.1 What is persistence?

1.1.1 Relational databases

1.1.2 Understanding SQL

1.1.3 Using SQL in Java

1.2 The paradigm mismatch

1.2.1 The problem of granularity

1.2.2 The problem of inheritance

1.2.3 The problem of identity

1.2.4 The problem of associations

1.2.5 The problem of data navigation

1.3 ORM, JPA, Hibernate, and Spring Data