JPA for Beginners
Due to the Corona pandemie,
I will host this workshop online!
30.6.-1.7.2020 - Online Lindner Congress Hotel Düsseldorf (Germany)
All you need to know to build your persistence layer with JPA
using Hibernate or EclipseLink
Lead Developer for
Thorben has been part of a group of community experts for a long time, helping Hibernate users via his blog posts, articles and various forums. He has a lot of great Hibernate insights to share.
VP Product Development at Bravado Health
Thorben demonstrated his mastery of Hibernate and also showed he is an efficient programmer as well.
CEO at Data Geekery,
Thorben not only excels with his knowledge about modern JPA API usage – he also consistently stresses the importance of knowing the underlying SQL technology.
Start Using JPA with Confidence!
Almost all enterprise applications use Hibernate or EclipseLink, the two most popular Java Persistence API (JPA) implementations. That makes the JPA specification by far the most popular approach to persist data in relational databases, like Oracle, MS SQL, PostgreSQL, and MySQL.
So, it's no surprise that experience with JPA is also one of the most in-demand skills in Java development.
But learning to use JPA on your own can be a pain.
One moment, it feels like everything is kind of magically working, only to all fall apart as soon as you make a change or when your application is used by multiple users.
I know this situation. I have been there myself.
When I started to learn about Hibernate as a student intern in 2002, I was on my own. My co-workers were great, but they were already working 70-hour weeks desperately chasing some impossible deadlines. So, I read a few things on the internet and copied entity definitions that worked in other projects. That's what all of us do when we try to learn a new framework, right?
For me, it didn't work that well. I was deeply frustrated instead of being excited about learning to use Hibernate. Instead of making my way along a learning curve, I felt like I was continuously hitting my head against a massive wall. It sometimes took me days to get things working, and I started to wonder if I had what it takes to become a software developer.
But it got better over time. I knew some of the basics and was able to create simple entities.
At least in most cases ...
Over the next few years, I recognized that most problems were caused by a few critical holes in my understanding of the Hibernate fundamentals. With every little gap that I closed, Hibernate and the later specified JPA standard became easier to understand and more and more fascinating. I often thought: 'how easy would it have been if someone had told me all of this during my first project?'
Learning JPA in a structured way changes everything.
Years later, when working at a different company, I saw my younger co-workers experiencing the same frustration while going through a similar learning process. Using JPA and Hibernate had become easier, but the general problem was still the same. Without a detailed and structured introduction that teaches you all essential basics, it was only a tiny step from a smiling "it's pure magic" to a raging "NOTHING WORKS!!!"
Unfortunately, that hasn't changed since then.
At that point, I decided to share my knowledge in a series of internal, 2-hour workshops. We started defining basic terms and implementing basic entity mappings and extended it until we had a fully-featured persistence layer, like the ones we used in our real applications. But this time, everyone had a clear understanding of how and why it worked.
And that was not the only change that happened during these workshops. My co-workers were no longer frustrated with JPA, they used it with confidence and were fascinated by how easy it was to implement new use cases. And they did this faster and with fewer bugs than before. That got them recognition from their co-workers and enabled them to work on more complex and exciting tasks. Some even told me that their new capabilities were positively mentioned in their yearly performance review.
You don't need to go through the same struggles.
With this workshop, I want to offer you the same experience. We will start with the basic concepts and entity mappings, use JPA's lifecycle model to persist our data in the database and implement our own queries using JPQL.
After taking this workshop, you will be well prepared to create your own persistence layer with JPA. Instead of hoping to copy the right code snippet from your co-worker or from an answer on Stack Overflow, you will know how to use the right JPA feature in the best way.
Join now to get a structured, in-depth introduction to JPA so that you can build your persistence layer with confidence.
A great course for learning the basics of JPA
Each lesson has a clear focus on a central aspect of JPA and is presented with helpful examples to deepen one's understanding of the content. I especially liked the description of the persistence context and of the entity lifecycle model.
This is a great course that familiarizes a beginner with the basics of JPA and leads to independent thinking.
Now It's Your Turn!
When you enroll in the JPA for Beginners Workshop, we will meet at the Lindner Congress Hotel in Düsseldorf I will invite you to a video call on June 30th and July 1st, 2020. The material and level of interactivity of the workshop will be identical to the originally planned in-person workshop.
I will teach you all you need to know about JPA's basic concepts so that you can:
You also get lifetime access to my JPA for Beginners Online Training, which is the online version of the workshop. So, whenever you are not exactly sure how to use one of the features I showed you during the workshop, you can watch the corresponding video. This gives you the best of both worlds. You get:
The JPA for Beginners Workshop consists of 6 modules with 17 lectures with example projects and exercises that show you everything you need to know to use the JPA specification with one of its popular implementations in your project.
Get familiar with the concept of object relational mapping and the most important terms.
- Lecture 1:
What is ORM?
- Lecture 2:
JPA vs. EclipseLink/Hibernate
- Lecture 3:
Introducing the Example Project
Learn how to configure and bootstrap your JPA implementation.
- Lecture 4:
- Lecture 5:
Configuration & Bootstrapping
- Lecture 6:
Understand JPA's defaults for simple mappings and how to customize them.
- Lecture 7:
Basic Entity Mappings
- Lecture 8:
Generate Unique Identifier Values
- Lecture 9:
Customize Your Mappings
- Lecture 10:
- Lecture 11:
Mapping Dates and Timestamps
Learn about JPA's lifecycle model and how you can use it to persist, update and remove entities.
- Lecture 12:
Working with Entities
Model associations between your entities and define when they will be loaded from the database.
- Lecture 13:
One-to-Many & Many-to-One Associations
- Lecture 14:
- Lecture 15:
- Lecture 16:
Use JPA's query language to implement queries based on your domain model.
- Lecture 17:
JPA for Beginners Workshop
9:00 - 17:00 CEST June 30th 2020
9:00 - 17:00 CEST July 1st 2020
(contact me for alternatives)
Example projects for all lectures
Practical exercises and solutions
JPA for Beginners Online Training (Certification Class)
To enroll in the training, please fill out the form below. I will email you a formal quote and an invoice to secure your seat.
Please be aware that the workshop only takes place if the minimum number of participants signs up until March 28th, 2020. I will inform you as soon as we reached the required number of signups so that you can make your travel arrangements.
Here are answers to some frequently asked questions:
What version of Hibernate is this workshop be based on?
The code examples are based on Hibernate ORM 5 but you can also use most of the features with Hibernate 4.4 and 4.3.
What other technologies should I be familiar with?
You should be familiar with Java, of course ;-) and have at least some basic knowledge of Relational Database Management Systems (RDBMSs) and SQL.
Do I have to have any experience with Hibernate ORM?
Yes, you need to be familiar with basic Hibernate concepts and annotations. This course will focus on advanced features and will not provide a basic introduction to Hibernate ORM.
Didn't find the answer you're looking for?
Let's talk about it. Please send me an email to email@example.com.