Hibernate Performance Tuning Workshop
4.-6.12.2019 - Lindner Congress Hotel Düsseldorf (Germany)
Get the best performance out of Hibernate and JPA
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 Struggling With Your Slow Persistence Layer And Finally Unlock Hibernate’s Best Performance!
Lots of developers struggle with Hibernate performance problems. Changes that worked perfectly fine on the test system break the performance of the production system. Their users complain about slow response times, and their database administrators blame them for executing too many or inefficient queries.
In most cases, they don’t even know why Hibernate executes so many queries or how they could improve them. They then try to solve these issues by copying code snippets from Stack Overflow, hoping that it solves their problems without introducing new ones. All of this causes stress and frustration and is often the reason for overtime and missed deadlines.
What if I told you that this doesn't have to be the case?
What if I told you that Hibernate includes lots of performance optimizations and that you can use them to implement high-performance persistence layers with ease?
What if I told you that knowing Hibernate's performance optimizations and advanced features are the key to finding and fixing performance problems before they cause trouble in production? This enables you to work on interesting tasks and you will be 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 I’m now helping teams to optimize their persistence layers as a freelance consultant.
And I created the Hibernate Performance Tuning Workshop to share that knowledge with you.
Performance Problems Grow If You Don’t Fix Them Proactively
Most developers copy code snippets from Stack Overflow or create workarounds in their business code when they have to implement complex requirements with Hibernate. But for most of them, none of that works, because:
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, and your application will get slower and slower.
You will spend more and more time fixing bugs and fighting performance problems instead of working on exciting new features.
In the end, you will be stuck in a rut, working long evenings and weekends while your managers complain about the lousy performance of your code and the long development cycles.
How I Learned To Build
High-Performance Persistence Layers with Hibernate
I tried the same approach as you did. I copied code snippets from Stack Overflow and blog articles, only to find out 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 how Hibernate works and the performance impact each feature has so that you can choose the right one for your application. Otherwise, each decision comes down to pure luck. Sometimes your code will be lightning fast, and other times it will be horribly slow. To make it even worse, you often need to wait for your users to use your change until you know whether 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 to build high-performance persistence layers. There had to be a better way.
Stop Guessing, Make Educated Decisions!
I started to learn how Hibernate works internally and all the performance improving features it offers so that I could pick the right one for each use case.
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 started to work together and in which the subtle comments I found in some articles began 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 helps you to avoid common performance problems and gets 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 doubled the performance of our services
I have been using Hibernate on and off for several years to supplement our custom Java database framework.
A year ago, we decided to migrate our monolithic application to microservices using JPA/Hibernate as the persistence framework. We have aggressive timelines so we needed to accelerate our knowledge of how to properly use hibernate so that our services would scale to meet the needs of our customers.
We discovered that using Hibernate was easy but, using it so that it scaled, required deeper knowledge. I came across Thoughts-On-Java while scouring the web for information on performance and pitfalls.
After subscribing to the newsletter, it became clear that Thorben has a firm grasp on the exact issues we were addressing. [...]
As a result of the training, we confidently refactored our code to follow the patterns described in the training course and doubled the performance of some of our services.
I recommend the training to anyone who wants their Hibernate applications to scale and to be maintainable in the future.
Mike Hills // Senior Microservice Architect
I'm very happy to have visited this very informative ORM course
Thorben not only excels with his knowledge about modern JPA API usage – he also consistently stresses the importance of knowing the underlying SQL technology.
As a very SQL-oriented person, I’m very happy to have visited this very informative ORM course, which helped me better understand the persistence perspective.
Lukas Eder // Founder and CEO at Data Geekery, Java Champion
Now It’s Your Turn
When you enroll in the Hibernate Performance Tuning Workshop, we will meet at the Lindner Congress Hotel in Düsseldorf on December 4th-6th, 2019. It's close to Düsseldorf Airport (DUS), which offers lots of non-stop flights to and from most bigger European airports.
I will teach you all you need to know about Hibernate's performance pitfalls and optimization options so that you can
You also get lifetime access to my Hibernate Performance Tuning Online Training, which is the online version of the workshop. So, whenever you are not exactly sure how to fix a performance problem or 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 Hibernate Performance Tuning Workshop consists of 6 modules with 21 lectures and example projects and exercises that show you how to use Hibernate to create a fast and reliable persistence layer.
Find Performance Problems
Learn about typical causes of performance problems and how to identify them at the early stages of the project.
- Lecture 1: Typical Causes Of Performance Problems
- Lecture 2: Identify Performance Problems
- Lecture 3: Logging
Prevent Duplicate Reads
Understand Hibernate's different caches and how to combine them to get the best performance.
- Lecture 10: Introduction To Caching
- Lecture 11: 1st Level Cache (Example Lecture)
- Lecture 12: 2nd Level Cache
- Lecture 13: Query Cache
Speed-up write operations
Select the best option to implement efficient write operations.
- Lecture 16: Bulk operations
- Lecture 17: Batching of write operations
- Lecture 18: Generating primary keys
Improve Read Operations
Use different techniques to solve the most common types of performance issues.
- Lecture 4: Optimizing Queries
- Lecture 5: Fetch Strategies
- Lecture 6: Query Specific Fetching
- Lecture 7: Bind Variables
- Lecture 8: Projections
- Lecture 9: Byte Code Enhancement
Move Logic to the Database
Learn about the benefits of performing logic in the database and how to achieve that with Hibernate.
- Lecture 14: Database functions
- Lecture 15: Stored procedure calls
Manage Concurrency
Understand Hibernate's concurrency handling to avoid issues in production.
- Lecture 19: Introduction To Concurreny Management
- Lecture 20: Pessimistic Locking
- Lecture 21: Optimistic Locking
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.
Hibernate Performance Tuning Workshop
Date: | 4.-6.12.2019 (contact me for alternatives) | |
Venue: | Lindner Congress Hotel in Düsseldorf (Lütticher Str.130, D-40547 Düsseldorf, Germany) near DUS Airport | |
Workshop Material: | Example projects for all lectures Practical exercises and solutions Comprehensive handout Participation certificate | |
Online Course: | Hibernate Performance Tuning Online Training (Certification Class) |
Single Seat
1799€
per Seat (plus 19% VAT)
- 3 day Hibernate Performance Tuning training with Thorben Janssen
- Date: 4.-6.12.2019
- Venue: Lindner Congress Hotel in Düsseldorf (Germany) near DUS Airport
- Catering: Lunch, coffee and snacks during the breaks, beverages during the workshop
- Example Projects for all Lectures
- Practical Exercises & Solutions
- Extensive Handout
- Video Course: Hibernate Performance Tuning Online Training
- Participation Certificate
Team Package (3+ Seats)
1699€
per Seat (plus 19% VAT)
- 3 day Hibernate Performance Tuning training with Thorben Janssen
- Date: 4.-6.12.2019
- Venue: Lindner Congress Hotel in Düsseldorf (Germany) near DUS Airport
- Catering: Lunch, coffee and snacks during the breaks, beverages during the workshop
- Example Projects for all Lectures
- Practical Exercises & Solutions
- Extensive Handout
- Video Course: Hibernate Performance Tuning 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.