High-Performance Java Persistence Newsletter, Issue 38
Imagine having a tool that can automatically detect JPA and Hibernate performance issues. Wouldn’t that be just awesome?
Well, Hypersistence Optimizer is that tool! And it works with Spring Boot, Spring Framework, Jakarta EE, Java EE, Quarkus, or Play Framework.
So, enjoy spending your time on the things you love rather than fixing performance issues in your production system on a Saturday night!
Introduction
Welcome to a new issue of the High-Performance Java Persistence Newsletter in which we share articles, videos, workshops, and StackOverflow answers that are very relevant to any developer who interacts with a database system using Java.
Articles
The pick of this edition is this article which explains how GIN indexes work on PostgreSQL, when to use them, and also what’s the downside of using GIN indexes.
To celebrate the Hibernate 6 release, I published two articles on the topic:
Another article I enjoyed reading is this one which provides several tips for improving the performance of your SQL queries when using PostgreSQL.
A very good article you should read is this one about the Query Identifier feature introduced by PostgreSQL 14. This new feature makes it so much easier to locate slow-running queries, as well as helps you aggregate various query-related statistics.
Best Tweets
Here are the best tweets I posted since the last newsletter:
The software developer mission: to explore strange new technologies. To seek out fancy languages and unproven frameworks. To complicate things like no one has done it before!
— Vlad Mihalcea (@vlad_mihalcea) April 10, 2022
Experience comes from constant learning.
— Vlad Mihalcea (@vlad_mihalcea) April 5, 2022
Without investing in skills, you get senior hello world software developers.
Me minding my own business vs. GitHub security alert digest pic.twitter.com/gsYltpbo4C
— Vlad Mihalcea (@vlad_mihalcea) April 11, 2022
Technical debt in a nutshell pic.twitter.com/RW1ZV3lqXS
— Vlad Mihalcea (@vlad_mihalcea) April 23, 2022
Building modern software 😀 https://t.co/UcG7mnjFVt
— Vlad Mihalcea (@vlad_mihalcea) April 17, 2022
Project Releases
I’ve been very busy adding support for Hibernate 6 in the Hibernate Types project, and for this reason, I released a series of versions of this project:
You should definitely upgrade even if you are not using Hibernate 6, as I’ve added support for new features as well, like automatic Type registration.
MySQL 8.0.29 has been released, and it provides a lot of bug fixes. One new feature that’s long been desired is the ability to use the IF NOT EXISTS
option for the CREATE FUNCTION
, CREATE PROCEDURE
, and CREATE TRIGGER
statements.
The MySQL JDBC Driver has been updated as well, and a new 8.0.29 Driver version was published.
The 42.3.4 version of the PostgreSQL JDBC Driver has been released, and it now provides better support for binding and reading OffsetTime
values from the associated TIME
column types.
The 1.0 version of the R2DBC reactive driver has been released. This is great news for all the projects that have embraced reactive programming. While the vast majority of software projects don’t really need to switch to reactive programming, for those that can really benefit from reactive data access, having a solid database driver library is very important.

Get in touch with my latest articles!
StackOverflow Answers
The following StackOverflow answers have been trending since the last newsletter episode: