High-Performance Java Persistence Newsletter, Issue 2
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 comes from Piotr Szybicki, who wrote an article about optimizing database inserts when using JPA.
If you want to execute aggregate queries and fetch the results using a Java Map
, you have several options when using JPA and Hibernate. This article explains how you can achieve this goal using either the latest JPA 2.2 specification and offers an alternative for older JPA versions and a Hibernate-specific solution as well.
If you are using PostgreSQL, then you should definitely bookmark this postgresql.conf
configuration guide. It provides a detailed explanation for all PostgreSQL settings while categorizing each parameter based on the supported PostgreSQL version.
In case you are using SAP HANA and want to execute geospatial queries from Hibernate, then this tutorial is surely going to help you get a better understanding of how you achieve this goal.
Whenever you want to filter the records of a given table based on a predicate that’s executed against a different table, then you should use the EXISTS
or NOT EXISTS
SQL logical operators. This article explains in great detail how EXISTS
and NOT EXISTS
work, and why you should prefer using them over filtering the results obtaining by joining the two tables in question.
Project releases
The 8.0.19 version of MySQL has been released. There are many improvements to the SQL syntax, like support for table value constructors, limiting the recursive part of a recursive CTE query, to name a few.
The Hibernate ORM 5.3.15 version has been released. If you’re using Hibernate 5.3, then you should consider upgrading as this release fixes several issues.
The 2.9.3 version of the Hibernate Types project has been released. A noteworthy feature is that Hibernate Types now works with Quarkus.
If you’re using Spring Data, then you should check out the Neumann M1 version, which has just been released.

Get in touch with my latest articles!
StackOverflow Answers
The following StackOverflow answers have been trending over the past two weeks: