Training and Workshops
Get the most out of your data access layer
Want to run your data access layer at high speeds?
- 1SQL
SQL is the most successful data access querying language. It's been constantly evolving over the past 40 years, and, nowadays, even NoSQL database systems have started employing SQL engines. - 2JDBC
Do you know how the JDBC Driver executes statements and how you can configure it to boost application performance? - 3JPA and Hibernate
Adding JPA and Hibernate annotations is fairly easy. But, do you know the performance implications of each JPA or Hibernate feature your application makes heavy use of?
Tailored to your needs
The High-Performance SQL and the High-Performance Java Persistence workshops are aimed to level up your team's data access skills, covering the most common database systems (e.g., Oracle, SQL Server, MySQL or PostgreSQL).
Duration: 3 days
- JDBC and Database Essentials
- Connection Management
- Java Persistence and Hibernate mapping best practices
- Inheritance and polymorphic queries
- Batching best practices
- Statement caching
- Fetching best practices
- Transactions and concurrency control patterns
- Caching best practices
Duration: 2 days
- O/R mismatch, logging, and testing
- Mapping column types
- Mapping associations
- Batching best practices
- Statement caching
- Fetching best practices
- Connection and transaction management
- Caching best practices
Duration: 2 days
- Present-day SQL techniques
- Pagination best practices
- Effective joins and subqueries
- Window Functions
- CTE and Recursive queries
- Pivot, Upsert, and Merge
- JSON queries
- Unraveling database execution plans
- Transactions and concurrency control patterns
Duration: 1/2 day
- Migrating to Java 17
- Migrating to JPA 3.1
- Migrating to Hibernate 6
- Migrating to Spring 6
What People Are Saying...

Elod Balázs
Operations Manager - NTT DATA
As Java developers, we all use JPA and inherently Hibernate at one point in time in our projects. Sometimes it happens that some of us just use and abuse this technology.
The presentation has the right topics, order and proper information to get the beginners and the “lost” intermediate user on the right track. You are a senior, and you wonder if it’s the right thing for you? Well, you can get under the hood and understand the underlying mechanisms and implementations used throughout the framework. Moreover, you will learn about advanced topics like caching, locking mechanisms and concurrency control.
I strongly believe that this is a great all-around training when it comes to ORM concepts.





Sergiu Oltean
Senior Software Engineer - Winnow Solutions
Every time I had heard that some app needs to be fast, I would have run away from Hibernate. Well, not anymore! After attending Vlad's High-Performance Java Persistence course, I changed my mind.
It was well structured, focused on performance and day-to-day usage. There were lots of details and small things that can really make a huge difference.
Everything was backed up by code examples. Vlad is a smart guy with lots of patience, and he's passionate about technology.
Learn the power of Hibernate! Use it properly!





Mihai Costin
Senior Software Engineer - Moqups
I've been using Hibernate for over 8 years in various projects, and I was thinking "what's more to learn about it?". Well, it turns out I was wrong. I've learned a lot after attending Vlad's training.
It was a very educative and enlightening course, backed up by a lot of code samples, answered questions, do's and don'ts in the Hibernate world. There's a huge difference between using Hibernate and using it right.
Fit to your needs
There is no limit of students that can enroll in this training. If you have multiple teams that need to attend it, the cheaper it gets per person.
The workshops can be adapted to your needs. We can even combine the agendas so that we cover exactly what you need.
All source code is provided to you during the training, so you can run the examples even after the training is done.
More Testimonials
Call Trade, Switzerland
Just completed an intensive 3 day seminar with @vlad_mihalcea about high performance java persistance. Highly recommended. Thanks Vlad!
— Urs Joss (@urs_j_o_s_s) March 15, 2017
Postis, Romania
Thanks Vlad! We enjoyed the training and we learn a tone. I hope that in the near future you'll hear more new about Postis and how we contributed to startup ecosystem in Romania. pic.twitter.com/Df8T5yZLZL
— Mircea Axente-Stan (@AxenteStan) November 11, 2019
JDK.io, Danmark
Thanks for an awesome workshop @vlad_mihalcea I'm still learning something after +10 years with Hibernate👍 pic.twitter.com/0SQVcwTO66
— Flemming Harms (@fnharms) June 13, 2018
Voxxed Days, Bucharest
Thanks @vlad_mihalcea for a very interesting #vdbuh2019 workshop and sharing your in-depth knowledge on this topic! Can't wait to review/update my Hibernate queries 😎👍 pic.twitter.com/yVliYelq3O
— Stephan (@Stephan007) March 20, 2019
Viva Credit, Romania
Thank you @vlad_mihalcea for having you for 3 full days in our office. We learned a lot about high-performance Java persistence!
— Cristian Olaru (@colaru) October 7, 2017
I've also been doing training and workshops at various software conferences.
Check out the following links for more details.
- Voxxed Days Bucharest 2019 - High- Performance Java Persistence
- JDK.io Copenhagen 2018 – High-Performance Java Persistence
- Craft Conf Budapest 2018 – High-Performance Java Persistence
- Craft Conf Budapest 2017 – Transactions and Concurrency Control Patterns
- Voxxed Days Zürich 2017 – High-Performance Java Persistence
Contact me
Let me teach you how to run your data access layer at high speeds!
If you want to book an on-site training session,
you should email me at vlad@vladmihalcea.com
and discuss it in more detail.