Advanced Hibernate Workshop
30.11.-2.12.2021 - Online
Start implementing your persistence layer with ease and confidence!

Steve Ebersole
Lead Developer for
Hibernate ORM
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.

Ian Wesley
VP Product Development at Bravado Health
Thorben demonstrated his mastery of Hibernate and also showed he is an efficient programmer as well.

Lukas Eder
CEO at Data Geekery,
Java Champion
Thorben not only excels with his knowledge about modern JPA API usage – he also consistently stresses the importance of knowing the underlying SQL technology.
Stop Copying Random Code Snippets And Finally Create Complex Mappings With Ease And Confidence!
Lots of developers struggle to implement complex mappings with Hibernate. They copy code snippets from Stack Overflow without knowing what the code actually does, hoping that it solves their mapping issues. They work overtime and miss deadlines because they can’t get a feature to work and bugs start piling up.
What if I told you that this doesn't have to be the case?
What if I told you that Hibernate makes the implementation of complex persistence layers quick and easy?
What if I told you that knowing Hibernate's advanced features and their side effects is the key to working on interesting tasks and being appreciated by your manager and team members as a true expert and at the same time, allowing you to spend your evenings and weekends with your friends and family?
For me, that has been the story of my career. My Hibernate expertise was one of the building blocks of my corporate career and sharing this knowledge is now the basis of my freelance business.
And I created the Advanced Hibernate Workshop to share that knowledge with you.
Using Hibernate In The Wrong Way Creates More Problems Than It Solves
What most developers do, when they have to implement complex requirements with Hibernate, is they copy code snippets from Stack Overflow or implement workarounds in their business code. But for most of them, none of that works.
And what happens if you just do nothing? If you just keep doing what you’ve been doing?
You will pile up more and more problems hidden in your persistence layer.
You will spend more and more time fixing bugs and fighting inefficient, overly complex mappings and business logic instead of working on interesting new features.
In the end, you will be stuck in a rut, working long evenings and weekends while your managers complain about the bad quality of your code and the long development cycles.
How I Learned To Use Hibernate The Right Way

I tried the same approach as you did. I copied code snippets from Stack Overflow and blog articles, only to find that they didn’t work in my project, or that they caused other problems not mentioned in the articles.
The situation was frustrating, and I recognized that this approach wasn't working.
You need to really understand Hibernate, with its complex features and their side effects, so that you can choose the right one for your application. Otherwise, each decision comes down to pure luck. To make it even worse, you often need to wait for your users to use your changes before you know if you made the right decision or whether it caused side effects you didn't find on your test system.
Years ago, I got fed up with this needless guessing game. I knew that other teams were using Hibernate with huge success. There had to be a better way.
Stop Guessing, Make Educated Decisions!
I started to learn how Hibernate’s advanced features work so that I could use them correctly.
Instead of copying random code snippets, I started to dive deeper and put a lot of effort into learning as much as I could about Hibernate. I read the documentation, the JPA specification and various books, I participated in online and offline discussions and tried lots of things myself.
After a while, all the previously disjointed bits of knowledge and understanding began to form a complete picture. One in which the different features began to work together and in which the subtle comments I found in some articles started to make sense:
Nowadays, I use the same knowledge to help teams all over the world as a freelance consultant, coach, and trainer. It’s always amazing to see how a better understanding of Hibernate can improve your productivity and get you one step closer to an enjoyable and successful career.
It Worked For These People, And It Will Work For You
Based on the insight I gained, I began to choose the optimal Hibernate feature for my use cases, to implement them with ease and enjoyment and to get recognition for my work.
But don't just take my word for it. Here is what other people say:

We have included it in our standard training library
Using the more advanced parts of object relational mapping, like dealing with complex inheritance structures, has never been easy.
Thorben explains them in his Advanced Hibernate Workshop in an easy-to-understand series of lessons and exercises. Implementing complex mapping structures is a breeze after this.
We have included it in our standard training library for new developers.
Stephan Knitelius // Senior Consultant

Finally, I learned how to use criteria queries
Great hands-on workshop about Hibernate's advanced features by Thorben Janssen.
Finally, I have learned how to use criteria queries and stored procedures with Hibernate.
Gregor Karl Frey // Chief Development Architect at SAP

Great combination of lectures, example projects and exercises
The training course provides a great combination of lectures, slides, example projects with JUnit tests and exercises with solutions.
The Advanced Hibernate Workshop helped me to understand Hibernate much better and I recommend it to everyone who is using Hibernate.
Jean-Claude Brantschen // Software Engineer
Now It’s Your Turn
When you enroll in the Advanced Hibernate Workshop, we will meet online on November 30th-December 2nd, 2021. The material and level of interactivity of the workshop will be identical to a typical in-person workshop.
I will teach you all you need to know about Hibernate's advanced features so that you can
You also get lifetime access to my Advanced Hibernate 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 Advanced Hibernate Workshop consists of 10 modules with 33 lectures and example projects and exercises that show you how to use Hibernate's advanced features to implement complex requirements.

Advanced Mappings
Learn about advanced mapping concepts for handling complex table models and legacy databases.
- Lecture 1: Relationships With Additional Attributes
- Lecture 2: Composite Primary Keys
- Lecture 3: Cascading
- Lecture 4: Generated Columns
- Lecture 5: Embeddable
- Lecture 6: Formula
- Lecture 7: Column Transformer

Criteria API
Create dynamic, type-safe queries at runtime with the Criteria API and JPA's Metamodel classes.
- Lecture 8: Criteria API
- Lecture 9: JPA Metamodel

Inheritance
Understand JPA's and Hibernate's different inheritance strategies and when to use them.
- Lecture 10: Why Is Inheritance A Problem?
- Lecture 11: Mapped Superclass Strategy
- Lecture 12: Table Per Class
- Lecture 13: Single Table Strategy (Example Lecture)
- Lecture 14: Joined Strategy
- Lecture 15: Choose A Strategy

Listeners and Events
Learn about the difference between EntityListeners and Lifecycle Events and how you can use them to execute custom code.
- Lecture 16: Lifecycle Callbacks
- Lecture 17: EntityListener
- Lecture 18: When To Use Which Approach

Custom Data Types
Support custom and database-specific data types with AttributeConverter and UserTypes.
- Lecture 19: AttributeConverter
- Lecture 20: UserTypes
- Lecture 21: Choose The Right Approach For Your Use Case

Concurrency
Understand Hibernate's concurrency handling to avoid issues in production.
- Lecture 22: Introduction To Concurrency Management
- Lecture 23: Pessimistic Locking
- Lecture 24: Optimistic Locking

Multi-Tenancy
Use Hibernate's multi-tenancy feature to support multiple, independent tenants with a single application.
- Lecture 25: Concept of multi-tenancy
- Lecture 26: Technical options with Hibernate

Hibernate-Specific Queries
Load multiple entities in batches or by their natural ID with Hibernate's proprietary API's.
- Lecture 27: Load by natural key
- Lecture 28: Load by multiple IDs

Java 8 Support in Hibernate
Learn about Java 8 support in Hibernate 5 and how you can use it to retrieve query results as a Stream or map classes of the Date and Time API.
- Lecture 29: Date and Time API
- Lecture 30: Optional
- Lecture 31: Streams

Patterns and Anti-Patterns
Understand common Hibernate patterns and why you should or shouldn't use them in your project.
- Lecture 32: Patterns
- Lecture 33: Anti-Patterns
About the Trainer
My name is Thorben Janssen, and I'm a freelance consultant, trainer, and international speaker specialized in solving Java persistence problems with JPA and Hibernate. I'm also 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 excellent 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 Hibernate's advanced features so that you can create incredibly fast and reliable persistence layers.
Advanced Hibernate Workshop
Schedule: | 9:00 - 17:00 CET November 30th 2021 | |
Venue: | ||
Workshop Material: | Example projects for all lectures Practical exercises and solutions Comprehensive handout Participation certificate | |
Online Course: | Advanced Hibernate Online Training (Certification Class) |
Single Seat
1699€
per Seat (plus 19% VAT)
- 3 day Advanced Hibernate training with Thorben Janssen
- Date: November 30th - December 2nd 2021
- Venue: Online via Zoom
- Example Projects for all Lectures
- Practical Exercises & Solutions
- Extensive Handout
- Video Course: Advanced Hibernate Online Training
- Participation Certificate
Team Package (3+ Seats)
1599€
per Seat (plus 19% VAT)
- 3 day Advanced Hibernate training with Thorben Janssen
- Date: November 30 - December 2nd 2021
- Venue: Online via Zoom
- Example Projects for all Lectures
- Practical Exercises & Solutions
- Extensive Handout
- Video Course: Advanced Hibernate Online Training
- Participation Certificate
Enroll Now
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.