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!


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.


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:

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:

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.