High-Performance Java Persistence Newsletter, Issue 64
Are you struggling with performance issues in your Spring, Jakarta EE, or Java EE application?
What if there were a tool that could automatically detect what caused performance issues in your JPA and Hibernate data access layer?
Wouldn’t it be awesome to have such a tool to watch your application and prevent performance issues during development, long before they affect production systems?
Well, 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 fixing performance issues in your production system on a Saturday night, you are better off using Hypersistence Optimizer to help you prevent those issues so that you can spend 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 week is this article about the drawbacks of using natural keys.
Speaking of mapping tables, if you need to persist a Java Enum Object to an integer column, JPA provides the ORDINAL strategy that allows you to save the default ordinal value into the integer column. However, if you have specific numerical codes for each Enum value that are not necessarily consecutive, then you need to use a custom strategy. For more details about this custom mapping approach, check out this article.
Hibernate 6 has added a lot of features, like Window Functions, Derived Tables, CTE, JSON, and ARRAY column mapping. Over the past month, I decided to improve my Hibernate tutorials with two articles that cover two new features that were included in Hibernate 6:
Another great article I read was this one about the challenges of scaling PostgreSQL and how YugabyteDB can help you with that.
Videos
If you want to learn how to implement a batch processing task with Spring and JPA, then check out this presentation from Rafael Ponte that he delivered at Spring I/O:
Project Releases
The Hypersistence Utils project has released two new versions: 3.8.0 and 3.7.7. If you are using this project, then you should definitely upgrade to the latest version to benefit from this new enhancement that allows you to use custom ordinal values when persisting Java Enums.
If you’re using SQL Server, then you can upgrade to the 12.6.3 version of the JDBC Driver, which fixes several regressions.
Get in touch with my latest articles!
StackOverflow Answers
The following StackOverflow answers have been trending since the last newsletter episode:
- Why does the JPA merge operation cause multiple SELECTs before the UPDATE?
- How to delete just the entity and its joint record in a many-to-many Hibernate association
- MySQL database connection error: ManagedConnectionFactory is null
- Hibernate JPQL is returning multiple results for a count(*) query
- Use Hibernate to save objects to the database


