High-Performance Java Persistence Newsletter, Issue 4
Imagine having a tool that can automatically detect JPA and Hibernate performance issues. Hypersistence Optimizer is that tool!
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.
Hypersistence Optimizer was enhanced with runtime scanning capabilities. This new feature allows Hypersistence Optimizer to provide you query and Persistence Context performance tuning tips that will allow you to speed up your data access layer even more than before.
MySQL 8 has added many features, like Window Functions, CTEs (Common Table Expressions), and Recursive CTE.
CTEs improve readability and allows you to reference a given inline view multiple times in a given query. For more details about CTE, check out this article on Percona’s blog.
Recursive CTEs allow you to process hierarchical tables using plain SQL. This is a very useful feature, and if you want to learn more about it, then you should check out this article.
Hibernate 5.4 provides a slow SQL query log that works for both entity queries (JPQL or Criteria API) and native SQL statements. For more details about this new feature, check out this article.
If you’re using a trigger-based PostgreSQL partitioning mechanism, then you should definitely read this article, which explains how you can switch to PostgreSQL 11 native partitioning.
After two months of development, I’m proud to announce the 2.0 version of Hypersistence Optimizer. This major release adds support for runtime scanning of queries and the way you are interacting with the JPA or Hibernate Persistence Context. For more details, check out the release notes.
I also managed to release the 2.9.4 version of the Hibernate Types project. For more details about the issues that were fixed, check out the dedicated GitHub milestone section.
The Hibernate ORM 5.4.12 version has been released. This is a patch release that fixes a critical issue related to scanning the Java module resources on Java 9 or newer versions.
If you like this newsletter,
you are going to love the next episodes!
The following StackOverflow answers have been trending over the past two weeks:
- What is the easiest way to ignore a JPA field during persistence?
- How to log SQL statements in Spring Boot?
- How do you do a limit query in HQL?
- Creation timestamp and last update timestamp with Hibernate and MySQL
- Hibernate SessionFactory vs. EntityManagerFactory
- How to monitor slow SQL queries executed by JPA and Hibernate