High-Performance Java Persistence Newsletter, Issue 2
Imagine having a tool that can automatically detect JPA and Hibernate performance issues. Hypersistence Optimizer is that tool!
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.

If you like this newsletter,
you are going to love the next episodes!
StackOverflow Answers
The following StackOverflow answers have been trending over the past two weeks: