High-Performance Java Persistence Newsletter, Issue 46
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 about 10 common PostgreSQL mistakes and how you can avoid them.
If you want to encrypt the data stored in your database, then this article will help you understand the difference between Transparent Data Encryption and Encryption at Rest. The article covers Oracle, SQL Server, MySQL, and PostgreSQL.
Speaking of database performance, you may want to read this article about the perils of using UUIDs in Primary Key columns and why TSID is a much better alternative.
Another alternative to the non-standard TSID is the ULID, as explained in this article.
I also wrote two more articles about Spring:
Videos
I uploaded a new video on YouTube about the best way to map a many-to-many association with JPA and Hibernate:
This video is part of my High-Performance Java Persistence video course, so if you like this episode, you are going to love the video course.
Best Tweets
Here are the best tweets I posted since the last newsletter:
The best UUID type for a database Primary Key
— Vlad Mihalcea (@vlad_mihalcea) December 8, 2022
https://t.co/gs6XOIgRW7 pic.twitter.com/cvOiKHgnXa
A beginner’s guide to database multitenancy
— Vlad Mihalcea (@vlad_mihalcea) December 22, 2022
https://t.co/JbshsqYXC0 pic.twitter.com/6S2f8rqUdb
Unlike Maths or Physics, software patterns are more about opinions than facts.
— Vlad Mihalcea (@vlad_mihalcea) December 24, 2022
The best way to use the Spring Transactional annotation
— Vlad Mihalcea (@vlad_mihalcea) January 1, 2023
https://t.co/G4AZecoMHL pic.twitter.com/4XJAsSfVkZ
The Spring Data findAll Anti-Pattern
— Vlad Mihalcea (@vlad_mihalcea) December 30, 2022
https://t.co/kwc9XTeVz8 pic.twitter.com/EhO6J3TFPn
Project Releases
The Hibernate Types project has metamorphosed into Hypersistence Utils, and two versions were released:
Since the 2.2 branch of the Hibernate Types project is no longer maintained, I suggest you migrate to the new dependency and namespace, as I’m about to release some very cool features in the upcoming months. For more details about this brand name change, check out this article.
Hibernate ORM has released several new versions for the 5.6 branch:
The 11.2 version of the SQL Server JDBC Driver was released.

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