High-Performance Java Persistence Newsletter, Issue 53
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 the standard PostgreSQL MVCC system works and how the OrioleDB engine aims to improve it by using a more efficient Undo Log mechanism similar to the one used by Oracle or MySQL.
Speaking of database performance tuning, the VisualVM tool allows you to profile the JDBC statements. For more details about this very handy tool, check out this article.
The Hibernate team released this Hibernate 6 guide that will surely help you get to know what has changed in Hibernate 6 and how you can get the most out of it.
If you want to implement a soft delete mechanism with JPA and Hibernate, then check out this article that explains what is the best way to achieve this goal.
Another very useful article I found was this one about encoding in PostgreSQL.
Best Tweets
Here are the best tweets I posted since the last newsletter:
Other languages might be cool, but SQL and Java put food on the table.https://t.co/fvnrV6bjw5 pic.twitter.com/osiocEe7Jb
— Vlad Mihalcea (@vlad_mihalcea) July 31, 2023
Donald Knuth's "premature optimization is the root of all evil" is about micro-optimizations.
— Vlad Mihalcea (@vlad_mihalcea) July 31, 2023
Designing your application to read and write data efficiently is not premature optimization.
That's software engineering.
JDBC Profiling with VisualVMhttps://t.co/WnFNxbZ2qS pic.twitter.com/yyhU5M88fi
— Vlad Mihalcea (@vlad_mihalcea) July 26, 2023
Over the past 20 years, software projects got more and more complex, but without improving quality or productivity.
— Vlad Mihalcea (@vlad_mihalcea) July 1, 2023
The more experience you accumulate, the better you see the value in Keeping It Simple.
Soft delete and JPA version propertyhttps://t.co/3pRRj51RZd pic.twitter.com/O6ZqmOMnl0
— Vlad Mihalcea (@vlad_mihalcea) July 21, 2023
Project Releases
MySQL released the 8.0.34 version, providing several bug fixes.
SQL Server released the 12.4 version of its JDBC Driver, providing automated failover on socket timeout, as well as support for Java 20.
Hibernate ORM released the first release candidate for the 6.3 branch, providing a new Hibernate 6 guide, as well as the ability to generate query methods from the @NamedQuery
and @Find
annotations in the entity Metamodel classes.

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