High-Performance Java Persistence Newsletter, Issue 47

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 that not only explains how B+Tree indexes work in PostgreSQL, but it provides an OSS tool to help you visualize them.

Speaking of PostgreSQL, this article explained why it would be useful if PostgreSQL supported Transparent Database Encryption (TDE).

If you are using Spring or Spring Boot, then you are better off using the BaseJpaRepository from the Hypersistence Utils project instead of the default Spring Data JpaRepository. For more details about this topic, check out this article.

If you are using MySQL, then check out this article about the effect of network bandwidth on database performance. What’s nice about this article is that you can spot the Universal Scalability Law in the performance charts.

Related to MySQL, it’s worth reading this article about the overhead of COMMIT in RDS or Aurora MySQL versions.

Another good article I read was this one about LSM-Tree merging in YugabyteDB.

Related to YugabyteDB, I also wrote two articles about it:


I uploaded a new video on YouTube about the best way to detect performance issues in JPA and Hibernate applications:

This video is part of a series of videos about optimizing Java applications using the amazing Hypersistence Optimizer.

Best Tweets

Here are the best tweets I posted since the last newsletter:

Project Releases

Hibernate ORM released the 6.2 CR2 version, which brings support for the MERGE clause in HQL queries. Awesome news!

MySQL 8.0.32 has been released, providing a series of improvements and bug fixes. For instance, you can set a global explain_format that applies to all EXPLAIN statements. This is useful since I prefer the JSON format as it provides more information than the default option does. For more details, check out the release notes.

And to match the server version, the MySQL Connector/J Driver released its 8.0.32 version, providing a series of bug fixes. For more details, check out the release notes.

The 11.2.3 and 11.2.2 versions of the Microsoft JDBC Driver were released, providing a series of bug fixes.

The Spring Data 2022.0.1 and 2021.2.7 has been released, providing bug fixes for both Spring Data JPA 3.0 and 2.7.

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.