High-Performance Java Persistence Newsletter, Issue 45
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 that celebrates the Spring 6 release, as well as this one about the Spring Boot 3 new version.
Related to Spring, I published three new articles on my blog:
- The best way to do the Spring 6 migration
- The Spring Data JPA findById Anti-Pattern
- Spring Data JPA entity locking
YugabyteDB is a very good database system alternative to PostgreSQL, as illustrated by this article about the Batched Nested Loop join.
Since Spring 6 comes with Hibernate 6, you should know that you can now use UNION, INTERSECT, and EXCEPT in JPQL and Criteria API queries.
Videos
I uploaded a new video on YouTube about the best way to fetch entities 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:
It's all about Persistence! pic.twitter.com/v9oFalgHEZ
— Vlad Mihalcea (@vlad_mihalcea) November 27, 2022
14 High-Performance Java Persistence tips https://t.co/XlOlbsrJLc pic.twitter.com/Y3w4P2052z
— Vlad Mihalcea (@vlad_mihalcea) November 24, 2022
The best way to use the Spring Transactional annotation
— Vlad Mihalcea (@vlad_mihalcea) November 21, 2022
https://t.co/G4AZec7bjb pic.twitter.com/vX355wi1i7
🎯 This is a valid JPQL query in Hibernate 6!
— Vlad Mihalcea (@vlad_mihalcea) November 16, 2022
Now that Spring 6 has been released, you are going to love all the goodies that have been added to Hibernate 6. pic.twitter.com/GA0GiP6yxh
Spring 6 Migration Guidehttps://t.co/Sm5QQ9Rm35 pic.twitter.com/Uh3M8Bq1eI
— Vlad Mihalcea (@vlad_mihalcea) November 22, 2022
Project Releases
The 2.6.3 version of Hypersistence Optimizer has been released, fixing a configuration issue that could happen when using it with older Hibernate 4 versions.
PostgreSQL 15.1 has been released, and it provides fixes for the previous 15.0 version.
The PostgreSQL JDBC Driver released the 42.5.1 version.
Hibernate ORM has released several new versions for the 5.6 branch:
Get in touch with my latest articles!
StackOverflow Answers
The following StackOverflow answers have been trending since the last newsletter episode:

