High-Performance Java Persistence Newsletter, Issue 19

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.


Last week, I published a 7-year anniversary post. I can’t believe it’s been seven years since I started writing this blog. How time flies when you are having fun!

Vijay Garg published an article about using the PostgreSQL LISTEN and NOTIFY mechanism with JDBC.

The Hibernate Types project makes it very easy to map JSON or ARRAY with Hibernate. However, if you’re using EclipseLink, you need a different solution, and this article shows how you can achieve this goal.

Hibernate is very flexible, allowing you to get access to the underlying JDBC Connection so that you can run any JDBC-based operation. In this article, I’m showing you how you can use the doWork and doReturningWork Hibernate Session methods.

PostgreSQL 13 has been released and brings many interesting features. This article goes through various enhancements and explains how they work and when you should use them.

A very good article I read is this one written by Haki Benita about implementing an anomaly detection mechanism using plain SQL.

If you’re using PostgreSQL and what to learn how the HOT (Heap Only Tuple) UPDATE works, then this article offers you a very nice introduction.

Martin Fowler published an article about data visualization options, like histograms, density, or box plots that can help you avoid the mistake of comparing only average numbers.


Adam Bien has published the #103 podcast episode in which we are talking about our software developer journeys and offer career advice for anyone interested in becoming a freelancer.

All in all, it was a great podcast, and I hope you find it as enjoyable as Adam and I did.

Java Data Access Framework Polling Results

Last week, I ran a Java data access vendor survey on Twitter, and almost 2500 participants cast their votes:

Considering that my audience consists of many developers using JPA and Hibernate, there’s no wonder that the JPA and Hibernate option got the vast majority of votes. However, running such a survey is useful as it allows me to know what my audience is using so that I can cover topics that are relevant to them. So, even if the results don’t necessarily reflect the absolute market share standings, it’s still can capture the latest trends among your particular audience.

The jOOQ frameworks got more and more traction, and it scored better than MyBatis and QueryDSL combined.

Because Twitter polls are limited to 4 options only, I added a subsequent another poll to the original one about other JDBC-based frameworks, and over 700 people voted:

It looks like Spring Data JDBC is getting good traction, so I should definitely cover it in the future.

Workshop Recording

I managed to edit and publish the Caching Best Practices workshop which offers over 1:45 hours of video lessons that will help you get a better understanding of database caching, application-level caching, and the Hibernate second-level cache.

So, if you are interested in this topic, then check it out on Teachable.

Best Tweets

There are many social media platforms, but for me, Twitter is the one I like best. Here are the best tweets I posted since the last newsletter:

Project Releases

PostgreSQL 13 has been released with support for parallel vacuuming, B-Tree index data deduplication, extended statistics, and many many more other features. For more details, check out the official announcement.

I have the pleasure to announce that the 2.10 version of the Hibernate Types project has been released. If you are using JPA and Hibernate, this project is going to help you get the most out of your relational database system.

Hibernate ORM released the 5.4.22 version. For a list of changes, check out the release notes.

Get in touch with my latest articles!

StackOverflow Answers

The following StackOverflow answers have been trending over the past two weeks:

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.