If you have a few years of experience in the Java ecosystem and you'd like to share that with the community, have a look at our Contribution Guidelines.
Spring Persistence Tutorial
Last modified: December 28, 2022
Partner – JPA Buddy – NPI – expanded (tag = JPA)

The right tools can and will save a lot of time. As long as you are using Hibernate and IntelliJ IDEA you can boost your coding speed and quality with JPA Buddy. It will help in a lot of the day-to-day work:
- Creating JPA entities that follow best practices for efficient mapping
- Creating DTOs from entities and MapStruct mappers using convenient visual tools
- Generating entities from the existing database or Swagger-generated POJOs
- Visually composing methods for Spring Data JPA repositories
- Generating differential SQL to update your schema in accordance with your changes in entities
- Autogenerating Flyway migrations and Liquibase changelogs comparing entities with the database or two databases
- … and a lot more
Simply put, you'll learn and use the best practices of Hibernate and surrounding technology and become a lot more!
Definitely visit the JPA Buddy site to see its features in action closer.
Partner – MongoDB – NPI – expanded (tag = MongoDB)

You can explore MongoDB through their free forever cluster - Atlas.
Partner – JPA Buddy – NPI (tag=JPA/Hibernate)

The right tools can and will save a lot of time. As long as you are using Hibernate and IntelliJ IDEA you can boost your coding speed and quality with JPA Buddy. It will help in a lot of the day-to-day work:
- Creating JPA entities that follow best practices for efficient mapping
- Creating DTOs from entities and MapStruct mappers using convenient visual tools
- Generating entities from the existing database or Swagger-generated POJOs
- Visually composing methods for Spring Data JPA repositories
- Generating differential SQL to update your schema in accordance with your changes in entities
- Autogenerating Flyway migrations and Liquibase changelogs comparing entities with the database or two databases
- … and a lot more
Simply put, you'll learn and use the best practices of Hibernate and surrounding technology and become a lot more!
Definitely visit the JPA Buddy site to see its features in action closer.
Course – LSD (cat=Persistence)
Get started with Spring Data JPA through the reference Learn Spring Data JPA course:
>> CHECK OUT THE COURSEThis tutorial series focuses on doing Persistence with Spring – illustrating examples with Hibernate, JPA and Spring Data.
Spring and JPA/Hibernate
- Hibernate 5 with Spring
- Configuring a DataSource Programmatically in Spring Boot
- Transactions with Spring and JPA(popular)
- Transaction Propagation and Isolation in Spring @Transactional
- Programmatic Transaction Management in Spring
- JPA/Hibernate Persistence Context
- The DAO with Spring and Hibernate
- The DAO with JPA and Spring
- Simplify the DAO with Spring and Java Generics
- Show Hibernate/JPA SQL Statements from Spring Boot
- Quick Guide on Loading Initial Data with Spring Boot

Spring Data JPA
- JPA with Spring Setup(popular)
- Introduction to Spring Data JPA
- Spring Data JPA @Query(popular)
- Spring Data JPA @Modifying Annotation
- Spring Data – CrudRepository save() Method
- Derived Query Methods in Spring Data JPA Repositories
- Spring Data JPA Delete and Relationships
- Spring Data JPA and Null Parameters
- Spring Boot With H2 Database
- Disable Spring Data Auto Configuration
- @DynamicUpdate with Spring Data JPA
- LIKE Queries in Spring JPA Repositories
- Query Entities by Dates and Times with Spring Data JPA
- Limiting Query Results with JPA and Spring Data JPA
- Pagination and Sorting using Spring Data JPA
- Sorting Query Results with Spring Data
- Calling Stored Procedures from Spring Data JPA Repositories
- Auditing with JPA, Hibernate, and Spring Data JPA
- Performance Difference Between save() and saveAll() in Spring Data
- How to Implement a Soft Delete with Spring JPA
- Returning an Auto-Generated Id with JPA
- Configure and Use Multiple DataSources in Spring Boot
- Joining Tables With Spring Data JPA Specifications

Other Spring Persistence Technologies
- Use Liquibase to Safely Evolve Your Database Schema
- Introduction to Liquibase Rollback
- Database Migrations with Flyway
- DynamoDB in a Spring Boot Application Using Spring Data
- MyBatis with Spring
- Working with Kotlin and JPA
- Spring JDBC(popular)
- Using a List of Values in a JdbcTemplate IN Clause
- Introduction to Spring Data REST
- Introduction to Spring Data JDBC

Spring Data MongoDB
- Introduction to Spring Data MongoDB
- A Guide to Queries in Spring Data MongoDB
- Spring Data MongoDB – Indexes, Annotations and Converters
- Custom Cascading in Spring Data MongoDB
- Spring Data Reactive Repositories with MongoDB
- Spring Boot Integration Testing with Embedded MongoDB
- Spring Data MongoDB Transactions

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 -
Security with Spring
How to Secure an MVC project, Login and Logout, how to Secure a REST Service using OAuth.
Course – LSD (cat=Persistence)
Get started with Spring Data JPA through the reference Learn Spring Data JPA course:
>> CHECK OUT THE COURSEres – Persistence (eBook) (cat=Persistence)


An intro to Spring Data, JPA
and Transaction Semantics Details with JPA
and Transaction Semantics Details with JPA
Get Persistence Right with Spring
Download the E-book