High-Performance Java Persistence Newsletter, Issue 57
Are you struggling with performance issues in your Spring, Jakarta EE, or Java EE application?
Imagine having a tool that could automatically detect performance issues in your JPA and Hibernate data access layer long before pushing a problematic change into production!
With the widespread adoption of AI agents generating code in a heartbeat, having such a tool that can watch your back and prevent performance issues during development, long before they affect production systems, can save your company a lot of money and make you a hero!
Hypersistence Optimizer is that tool, and it works with Spring Boot, Spring Framework, Jakarta EE, Java EE, Quarkus, Micronaut, or Play Framework.
So, rather than allowing performance issues to annoy your customers, you are better off preventing those issues using Hypersistence Optimizer and enjoying spending your time on the things that you love!
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 about PostgreSQL double buffering.
Hibernate 6.3 added support for table partitioning, and in this article, I explain how to use it to build a table-based multitenancy mechanism.
If you are using PostgreSQL, then you are going to find this article very useful since it gives you a lot of practical advice that can help you optimize the performance of your SQL queries.
In a previous article, I explained how to cascade the delete operation from parent entities to child entities using bulk deletes. Another approach to achieve this goal is to use Hibernate event listeners, as explained in this article.
Understanding how index selectivity works is very important when improving the performance of a given database application. If you’re interested in this topic, check out this article.
YouTube presentations
There’s a very good presentation from David Stokes about best practices for using database systems in the cloud:
Best Tweets
Here are the best tweets I posted since the last newsletter:
Project Releases
PostgreSQL 16.1 has been released, providing several bug fixes for the 16 version.
The 42.7.0 version of the PostgreSQL JDBC Driver has been released.
The Hibernate ORM project has released the 6.4.0 version. It adds a native @SoftDelete annotation, as well as support for array functions in JPQL and Criteria queries.
Get in touch with my latest articles!
StackOverflow Answers
The following StackOverflow answers have been trending since the last newsletter episode:
- In Java, when should I prefer
StringoverStringBuilder? - How to get multiple entities from a Hibernate SQL join
- How to restrict Hibernate to generate SQL query with columns only from root entity in Criteria API involving multiple entities
- Record not inserted while using
@ManyToOnemapping - Hibernate batch insert memory leak

