Spring Data JPA

Get the most out of Spring and JPA

Build Efficient Persistence Layers with Spring

Spring Data JPA is incredibly popular because it's so easy to use. It utilizes established JPA implementations, like Hibernate or EclipseLink, to provide an efficient and rock-solid object-relational mapping. On top of that, Spring Data JPA adds a layer that encapsulates almost all the complexity and boilerplate code required by JPA.

You usually only need to extend one of Spring Data JPA's repository interfaces to get a fully functional repository that handles the standard CRUD operations for one of your entities. In the next step, you can add query methods to your repository definition, and Spring Data JPA provides you with the required query and all the boilerplate code required to execute it.

All of this enables you to focus on your business code and improves your developer productivity. But it also comes with a price.

The complexity is still there; you just don't see it!

Spring Data JPA's abstractions make it seem easy to implement your persistence layer because you no longer see the complexity. This is great if you know how JPA and Spring Data JPA work. But it makes learning all of this much harder than most developers expect.

Using Spring Data JPA, you not only need to know how to use its APIs, but you also need to understand the complexity it's handling for you. Otherwise, you will always wonder if your code produces the expected results, and you will often get surprised by unexpected SQL statements and other inefficiencies.

Learning Spring Data JPA in a structured way makes the difference.

I experienced this first hand when I started to learn Spring Data JPA myself. I had been using JPA for a few years and expected that switching to Spring Data JPA would be easy. Unfortunately, I didn't have the time and materials for learning Spring Data JPA in a structured way.

I made the same mistake that I see so many other developers make: I thought I could learn everything I need by using Spring Data JPA in my project.

Well, it somehow worked in the end, but I could have saved myself a lot of frustration and lots of overtime. I could have easily avoided most of the problems if I had a deeper understanding of the framework. But that's hard to get if the important parts are not directly visible.

In my consulting and coaching projects, I see a lot of developers go through the same struggles. They do their best to learn what they need and to understand how Spring Data JPA works. But how shall somebody ask questions about something they don't even know exists?

That quickly changes when someone guides you along the way and points out the important but sometimes invisible details. That's what I'm doing in this course. You should already know JPA's basic concepts, and we will then add Spring Data JPA on top of it. We will dive deep into all of its usability features and the extra functionality it provides.

Create reliable and scalable persistence layers

Having completed this course, you will be well prepared to design and implement robust and scalable persistence layers using Spring Data JPA.

Instead of hoping that Spring Data JPA magically performs the right operation, you will know which APIs you have to use. You will understand how Spring Data JPA works internally, which operations it performs, and the boilerplate code it provides for you. You will be able to confidently use its features to build maintainable and efficient persistence layers.

Your new skills will not only improve the way you write software. They will also establish you as a true expert within your team. With your expertise in the most popular persistence technology in the Java world, you will be well-prepared to take on new, interesting tasks and grow your technical career.

Join now to get a structured, in-depth introduction to Spring Data JPA.

Now It's Your Turn!

When you enroll in the Spring Data JPA course, you’ll get access to my self-paced video course on 2021/03/29. It teaches you all you need to know about this popular persistence framework so that you can:

  • Use Spring Data JPA's repositories to reduce the required boilerplate code,
  • Ensure scalability and maintainability of your persistence layer,
  • Build your persistence layers with confidence.

To make the course content easier to consume, I've split it into 12 blocks that I will release weekly. But don't worry, you don't need to follow a fixed schedule. You get lifetime access to all of the training materials so that you can watch and re-watch the lectures whenever you want.

And you are 100% safe when trying this out. That’s all I’m suggesting. Just try the Spring Data JPA course for 30 days to see if it works for you.

If it does, you'll learn how Spring Data JPA can provide all the required boilerplate code for you, help you avoid unnecessary bugs, and improve your productivity. This will make your daily work more enjoyable and prepare you for the next step in your career - and I think that's exactly what's about to happen. If, for some reason, you're not happy with the course or if you are still not sure how to use some of the explained patterns, then just let me know that you want to use my Simple & Unconditional 100% Money-Back Guarantee, and you'll get 100% of your money back.

The Spring Data JPA course consists of 12 modules with more than 30 lectures with example projects and exercises that show you everything you need to build efficient and maintainable persistence layers without writing lots of boilerplate code and repeating yourself over and over again.

You also get free access to a set of exclusive bonuses that improve your training experience and ensure your long-term success.

But first, let's take a look at the modules and lectures included in the Spring Data JPA course.

Learn about the basic ideas of Spring Data JPA and its relationship with JPA, Hibernate, and EclipseLink.

  • Lecture 1: 
    Introduction to Spring Data JPA
  • Lecture 2:
    JPA's Key Concepts and Features

Add Spring Data JPA to your classical Spring or Spring Boot application, provide the required configuration parameters and adjust it to your needs.

  • Lecture 3:
    Configuration in a classical Spring application
  • Lecture 4:
    Spring Boot default configuration
  • Lecture 5:
    Spring Boot custom configuration

Start using Spring Data JPA's standard repositories to implement your CRUD operations.

  • Lecture 6:
    The repository pattern
  • Lecture 7:
    Repositories in Spring Data JPA

Let's combine everything you learned in the previous lectures to build and test a basic application.

  • Lecture 8:
    Build a basic application with Spring Data JPA
  • Lecture 9:
    Test a Spring Data JPA application
  • Lecture 10:
    Integrate TestContainers to manage your database

Add your own queries to your repositories and let Spring Data JPA handle the boilerplate code.

  • Lecture 11:
    Let Spring Data JPA derive your query
  • Lecture 12:
    Define custom queries
  • Lecture 13:
    Use native SQL queries

Use Spring Data JPA's 

  • Lecture 14:
    Sort your query results
  • Lecture 15:
    Paginate your query results
  • Lecture 16:
    Define custom projections
  • Lecture 17:
    Use query hints
  • Lecture 18:
    Fetch associations via EntityGraphs

Learn about Spring Data JPA's advanced query features to implement complex use cases with ease.

  • Lecture 19:
    Execute modifying queries
  • Lecture 20:
    Call stored procedures
  • Lecture 21:
    Define queries by example
  • Lecture 22:
    Use dynamic specifications in your query

Add your own method implementations to your repositories and manage your transactions.

  • Lecture 23:
    Build custom repositories
  • Lecture 24:
    Manage your transactions

Use QueryDSL to create dynamic, complex queries at runtime and integrate them into your repositories.

  • Lecture 25:
    Introduction to QueryDSL
  • Lecture 26:
    Integrating QueryDSL with Spring Data JPA

Create a detailed audit log or only track who changed a database record.

  • Lecture 27:
    Track modifications with Spring Data JPA
  • Lecture 28:
    Write detailed audit logs using Spring Data Envers

Integrate Flyway or Liquibase to automate complex schema migrations.

  • Lecture 29:
    Create and update your database schema
  • Lecture 30:
    Integrate Flyway with Spring Data JPA
  • Lecture 31:
    Integrate Liquibase with Spring Data JPA

Get an introduction to Spring Data REST and use it to build basic REST endpoints for your repositories.

  • Lecture 32:
    Introduction to Spring Data REST
  • Lecture 33:
    Build basic REST endpoints for your repositories

Sign Up Today To Get These Free Bonuses

Cheat Sheets: Remember the important parts of each feature

Remembering all the details of the discussed features can be tough.

That's why I created a set of cheat sheets highlighting all the details you need to use the Spring Data JPA features discussed in this course. Put the cheat sheets on your desktop or keep a printout beside your keyboard to have the most critical information at your fingertips whenever you need it.

Value $39

5-part Video Course: Update your database schema with Flyway

Updating dozens or more horizontally scaled microservices requires much more automation than it did when you just had 2 instances of a monolith.

Database updates now need to be fully automated and version-controlled. This enables you to focus on developing new services instead of updating your database manually.

Flyway makes that job incredibly simple and is a great fit for microservice applications. In this course, I will show you everything you need to know to start using Flyway in your microservice.

Value $59

Course Features For Your Success

To make this course as effective and flexible as possible, all classes provide you with lifetime access to all of the training videos, example projects, exercises with solutions and all other course materials. 

Training Videos

Watch more than 30 in-depth video lectures about Spring Data JPA.

Example Projects

Get all of the example projects that are used during the course.

Self-Paced

Study at your own pace with lifetime access to all training material.

Exercises

Try what you have learned in practical exercises.

Handout

Get a comprehensive handout with commented slides.

Certificate of Completion

Earn a certificate of completion to prove your expertise.

About the Author

My name is Thorben Janssen, and I'm the author of the Amazon bestselling book Hibernate Tips - More than 70 solutions to common Hibernate problems.

For the last 15 years, I have been using Hibernate and JPA in all kinds of projects. From small ones with very aggressive timelines to huge projects that had to handle thousands of users.

The requirements of these applications were very different and I learned that Hibernate provides good solutions for all of them. You just have to understand the features along with their advantages and disadvantages.

I'm looking forward to showing you how to use Hibernate's advanced features so that you can implement complex persistence requirements with ease.

About the Author

My name is Thorben Janssen, and I'm the author of the Amazon bestselling book Hibernate Tips - More than 70 solutions to common Hibernate problems.

For the last 20 years, I have been using Spring Data JPA and Hibernate in all kinds of projects. From small ones with very aggressive timelines to huge projects that had to handle thousands of users.

The requirements of these applications were very different and I learned that Spring Data JPA provides good solutions for all of them. You just have to understand the features with their advantages and disadvantages.

I'm looking forward to showing you how to use Spring Data JPA so that you implement complex persistence requirements with ease.

Spring Data JPA

Watch the videos only and study on your own
or use your new knowledge in exercises and get a participation certificate.

Select the package that fits best to your personal style of learning.

Master Class

189€
+ taxes

  • All Video Lectures
    New lessons released weekly
  • Example Projects for All Lectures
  • Slides for All Lectures
  • Bonus 1: Cheat Sheet Package
  • Bonus 2: Database Migration with Flyway

Certification Class

269€
+ taxes

  • All Video Lectures
    New lessons released weekly
  • Example Projects for All Lectures
  • Practical Exercises & Solutions
  • Comprehensive Handout
  • Download Videos to View Offline
  • Participation Certificate
  • Bonus 1: Cheat Sheet Package
  • Bonus 2: Database Migration with Flyway

Spring Data Starter Bundle

Get the JPA for Beginners course and the Spring Data JPA course at a discount and learn everything you need to know to start building persistence layers with Spring Data JPA.

Simple & Unconditional 100% Money-Back Guarantee

This is more than just a guarantee. It's a promise from a developer (me) to a developer (you).

Take 30 days to study the Spring Data JPA course and learn how to avoid boilerplate code and build efficient and maintainable persistence layers.

If you're not happy with the course or if you are still not sure how to use some of the explained features, send me an email and ask for a refund. After you have logged in, you will find my email address at the bottom of the course page. I will promptly send you 100% of your money back.

Yes, that's right. I'm taking all the risk with this guarantee. You could rip me off by enrolling in the Spring Data JPA course with the intention requesting your money back after 30 days.

But I trust that you won't do that. We software developers are honest people and don't rip each other off, right?

So, I trust you, and you don't have to take any risks.