I just announced the new Spring Boot 2 material, coming in REST With Spring:


This tutorial series focuses on doing Persistence with Spring - illustrating examples with Hibernate, JPA and Spring Data.

1. Core Persistence

>> Hibernate 4 with Spring

Setup Hibernate 4 with Spring - the Java and XML Configuration, how to use and best practices.

>> Hibernate 5 with Spring

A quick and practical guide to integrating Hibernate 5 with Spring.

>> JPA with Spring (popular)

Setup JPA with Spring - the Java and XML Configuration, the Maven dependencies and a generic DAO example.

>> Persistence with Spring Data JPA (popular)

Spring Data JPA with Spring - how to remove the DAO implementation, manual and automatic custom queries, transactions with Spring Data and configuration.

>> Spring Data Java 8 Support

A quick and practical guide to Java 8 support in Spring Data.

>> Spring Data Annotations

Learn about the most important annotations we need to handle persistence using the Spring Data project

2. The DAO

>> The DAO with Spring and Hibernate

Implement a generic DAO with Hibernate in Spring.

>> The DAO with JPA and Spring

How to implement the DAO with JPA in a Spring project.

>> Simplify the DAO with Spring and Java Generics

How to simplify the Data Access Layer by using a single, generified DAO, which will result in elegant data access, with no unnecessary clutter.

3. Advanced Persistence

>> Transaction Configuration with Spring 4 and JPA (popular)

Transaction Configuration with Spring 4 and JPA - how to Enable and Configure Transactions and set up Transaction Propagation.

>> Hibernate Mapping Exception – Unknown Entity

Hibernate Mapping Exception - Unknown Entity - causes and solutions.

>> Sorting with JPA

How to Sort in JPA using JQL or the Criteria API.

>> Sorting with Hibernate

Sort with Hibernate 4 using HQL or the Criteria API.

>> JPA Pagination

Pagination in JPA - how to use JQL and the Criteria API to do pagination correctly.

>> Hibernate Pagination

Pagination in Hibernate - using basic HQL, ScrollableResults as well as the more flexible and type-safe Criteria API.

>> Externalize Setup Data via CSV in a Spring Application

Learn how to use CSV files to hold the Setup data for a Spring web application, and how to fully load and persist that data from disk.

>> Use Liquibase to Safely Evolve Your Database Schema

How to use Liquibase to safely and maturely evolve the database schema of your Java app.

>> DynamoDB in a Spring Boot Application Using Spring Data

A step by step tutorial on integrating DynamoDB in Spring Boot application using Spring Data DynamoDB.

>> Introduction to Liquibase Rollback

Look into the rollback feature – and how we can undo a Liquibase operation.

>> Database Migrations with Flyway

This article describes key concepts of Flyway and how we can use this framework to continuously remodel our application's database schema reliably and easily.

>> Auditing with JPA, Hibernate, and Spring Data JPA (popular)

This article demonstrates three approaches to introducing auditing into an application: JPA, Hibernate Envers, and Spring Data JPA.

>> Working with Kotlin and JPA

Learn how you can use JPA in your Kotlin project.

>> JPA Attribute Converters

Take a look at mapping JDBC types to Java classes in JPA using attribute converters.

>> Introduction to Lettuce – the Java Redis Client

Learn how to use Lettuce to connect and query a Redis server from within our application.

>> A Guide to Multitenancy in Hibernate 5

Learn two approaches for implementing multitenancy using Hibernate 5.

>> Spring Data JPA @Query (popular)

Learn how to use the @Query annotation in Spring Data JPA to define custom queries using JPQL and native SQL.

>> Projections and Excerpts in Spring Data REST

Create custom views of entities in Spring Data REST using projections and excerpts.

>> Show Hibernate/JPA SQL Statements from Spring Boot

Learn how you can configure logging of the generated SQL statements in your Spring Boot application.

4. Spring Data MongoDB

>> Introduction to Spring Data MongoDB (popular)

A solid intro to using MongoDB in with Spring Data.

>> A Guide to Queries in Spring Data MongoDB (popular)

How to Query MongoDB with Spring Data: Query and Criteria, auto-generated repository methods, raw queries with the @Query annotation as well as QueryDSL.

>> Spring Data MongoDB – Indexes, Annotations and Converters

How to work with Indexes, Converters and Common Annotations in Spring Data MongoDB.

>> Custom Cascading in Spring Data MongoDB

How to implement a solid, generic cascading mechanism with lifecycle events in Spring Data MongoDB.

>> Spring Data Reactive Repositories with MongoDB

Learn how you can use Spring's reactive repositories with MongoDB at the persistence end

Other Spring Tutorials

>> The REST with Spring Tutorial

How to build REST Services with Spring

>> Spring Exceptions Tutorial

Some of the most common exceptions in Spring with examples – why they occur and how to solve them quickly

The entire tutorial in based on this github project. Watch and fork it at will - the project can be used as a starting point for a full fledged implementation.

I just announced the new Spring Boot 2 material, coming in REST With Spring:


newest oldest most voted
Notify of

Thank you so much for putting it all up at once place.

Gaurav Dighe
Gaurav Dighe

Hello, Can you plz publish pdf for Spring4 with Spring-Data-JPA.

Bogdan Adrian
Bogdan Adrian

Hello, do you have something spring mvc and hibernate?

Eugen Paraschiv

Hey Bogdan,
Spring MVC and Hibernate are different concerns, so I generally didn’t cover them in the same article, but independently.
However, if you’re looking for a template project to start from, you can have a look at the Registration series.
Hope that helps. Cheers,