JPA for Beginners
All you need to know to build your persistence layer with JPA
using Hibernate or EclipseLink
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 online training course, 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 course, 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.
Start Using JPA with Confidence!
17 video 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:
Get even more out of this courses with these free bonuses.
Videos, Example Projects, Exercises ...
Watch 17 video lectures and start using JPA in your projects.
Get all example projects that are used during the training.
Study at your own pace with lifetime access to all training material.
Try what you have learned in practical exercises.
Get a comprehensive handout with commented slides.
Download your video lectures to view them offline.
Start Today! Choose Your Training Package
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.
30 Days 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 JPA for Beginners course and improve your understanding and usage of JPA.
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 JPA for Beginners 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.
May I watch an example lecture?
Sure! Signup below and I'll send you a sample followed by some of my best content for JPA beginners:
What version of JPA is this training based on?
The code examples are based on JPA 2.2 but you can use almost all of it with JPA 2.1 and 2.0.
Which JPA implementation do I need to use?
There are multiple JPA implementations available and you can use the code examples with all of them. That's one of the great benefits of the JPA specification. As long as you follow the standard, you can run the same code with all compliant implementations of the JPA specification.
How long do I have access to the course?
You get life-time access to all training materials. That includes the lectures, example projects, exercises and handouts.
Do I have to have any experience with JPA or one of its implementations?
No! You don't need to know anything about JPA. I will show you everything you need to know in this online training.
But you should be familiar with Java, SQL and relational table models.
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.
What happens if I don't like the training material?
Don't worry. Just send an email to [email protected] within the first 30 days after your registration and you'll get your money back.
Didn't find the answer you're looking for?
Let's talk about it. Please send me an email to [email protected]