If you are implementing Java applications which store data in a database, the chances are pretty high that you are using Hibernate. And as you are reading this post, the chances are even higher 😉
Hibernate is by far the most popular JPA implementation and there are good reasons for it. Implementing the basic database access with Hibernate is extremely simple. You don’t need more than some basic knowledge about JPA and Hibernate.
Efficient applications require more knowledge
But you can also find a lot of complains about its bad performance on the internet. In my experience, these complains and performance issues could be avoided with a little more knowledge about Hibernate and its more advanced features. But it takes a lot of time to acquire this deeper knowledge.
I have been working with Hibernate for more than 10 years now, suffering and learning from lots of performance issues. And I still haven’t found good educational material about this important topic. That was the main reason why I started to speak about Hibernate performance at conferences and workshops around Europe.
A lot of you started to ask for workshops in other cities. With my little son waiting for me at home, I don’t want to spend all my time traveling and you probably also prefer to learn from home instead of spending 2 days at airports and on planes to get to a workshop and back. Therefore I decided to create an online version my Hibernate Performance Tuning training.
Online version of a real training
You also told me, that you don’t want to get a shortened 2-3 hour course. You want to get the whole training. So here it is. I’m recording all the lectures of my 2 days long workshop including lots of exercises and examples. And if you like, you can discuss your questions with me in a forum or on a personal coaching call.
Lets have a look at the topics of this training. It is divided into 6 parts with 19 different modules and additional exercises:
1. Identify performance problems
In the first part of this training, we will have a look at typical causes of performance problems and how to identify them at early stages of the project.
Module 1: Typical causes of performance problems
Module 2: Identify performance problems
Module 3: Logging
2. Improve read operations
Slow read operations are the most common group of performance issues. We will work on practical examples to understand related performance tuning techniques.
Module 4: Optimizing queries
Module 5: Fetch strategies
Module 6: Query specific fetching
Module 7: Bind variables
Module 8: Projections
Module 9: Byte code instrumentation
Caching provides another option to speed-up read operations. Hibernate offers different caches and we will learn how to use them efficiently.
Module 10: 1st Level Cache
Module 11: 2nd Level Cache
Module 12: Query Cache
4. Move logic to the database
Databases can handle data-heavy operations very efficiently. We will discuss how we can use this to improve the application performance.
Module 13: Database functions
Module 14: Stored procedure calls
5. Speed-up write operations
Inefficient write operations are often not as obvious as slow read operations but can create huge performance issues. During this part of the training, we will have a look at different options to improve them.
Module 15: Bulk operations
Module 16: Batching of write operations
Module 17: Generating primary keys
Concurrency issues are often complex and hard to find during the development phase. It is therefore important to get a good understanding of the different concurrency concepts.
Module 18: Pessimistic Locking
Module 19: Optimistic Locking
Early bird discount and limited seats
The online training will start on April 1st 2016 (no, that’s not an Aprils Fool 😉 ) but you should not wait too long to reserve your seat. You can get a nice early bird discount, if you book early. And the personal coaching calls in the Premium Package will require a lot of preparation so that I have to limit the available seats to 20.
Find out more at: Hibernate Performance Tuning Online Training.