High-Performance Java Persistence Newsletter, Issue 42

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 using the MySQL Performance Schema for analyzing database transactions.

I’ve wanted to try Testcontainers for a very long time, so I finally had the time to use it to make Hibernate Types integration tests easier to run. For more details about Testcontainers, check out this article.

Using Spring Boot or Spring Framework has become the norm when developing Java-based web and enterprise applications. For this reason, it’s very important to know which are the best ways to fetch DTO projections, and for this reason, I wrote this article to help you with this task.

Another thing I’ve had to do for the Hibernate Types project is to use multiple Java versions for the main and test Maven folders. For more details about when you might need this and what solutions you have, then check out this article.

A lesser-known feature that was poorly documented is the rewriteBatchedStatements setting that you can enable to speed up MySQL INSERT statements.

Workshops

I have great news!

On the 15th of September, I’m going to run a new High-Performance SQL online workshop about the best way to use a lot of interesting things you can do with PostgreSQL, Oracle, MySQL, and SQL Server.

  • SQL clause execution order
  • How to use UPSERT or MERGE
  • How to use PIVOT and UNPIVOT
  • Pagination best practices
  • Offset and Keyset Pagination
  • Pagination vs. Streaming

If you want to be amazed by how much you can do with SQL, then you should definitely join my next online workshop.

Videos

I uploaded a new video on YouTube about SQL EXISTS and NOT EXISTS.

This video is part of my High-Performance SQL 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:

Project Releases

I managed to release the 2.18 version of the Hibernate Types project, which provides two awesome features

  • support for Testcontainers so that you can easily run the project test cases
  • a Java Money CurrencyUnit type

PostgreSQL 14.5 has been released, offering various fixes and improvements for the PostgreSQL 14 branch.

Hibernate ORM has released several new versions for both 5.6 and 6.1 branches:

If you’re using the amazing Hypersistence Optimizer, then you might want to upgrade to version 2.6.1, which fixes one issue related to Envers entities.

And, if you are not using Hypersistence Optimizer, you should know that you are missing out on a lot of performance optimization tips that could have been supplied to you automatically.

Get in touch with my latest articles!

StackOverflow Answers

The following StackOverflow answers have been trending since the last newsletter episode:

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.