High-Performance Java Persistence Newsletter, Issue 32

If you are trading Stocks and Crypto using Revolut, then you are going to love RevoGain!


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.


The pick of this edition is this article about extracting the PostgreSQL planner to a standalone library so that it can be used to generate plans without requiring a running PostgreSQL instance.

If you’re using JPA and Hibernate, you surely heard about the first and the second-level cache. If you wonder what those two caches mean or why would you need them, then check out the following two articles:

One article I liked very much is this one about MySQL replication best practices.

A great addition to the Hibernate Types library is the Batch Sequence Generator. If you wonder how it works and why you should use it, then check out this article.

If you’re using PostgreSQL, you should pay attention to the work_mem setting, as if it’s too low, it can cause a SELECT query to write to the disk the temporary tables used for sorting or hash joining or hash aggregating. For more details about this setting, check out this article as well as this one on the AWS blog.

The Hibernate Types library is surprisingly flexible and supports various JSON mappings I didn’t even try previously. For instance, if you want to map polymorphic JSON objects with Hibernate, you can surely do that. Check out this article for more details about this topic.

Best Tweets

Here are the best tweets I posted since the last newsletter:

Project Releases

MySQL 8.0.27 has been released. One of the major addition is the InnoDB CLusterSet that provides disaster tolerance for InnoDB clusters.

A new setting offered by MySQL 8.0.27 is innodb_ddl_threads, which controls the number of threads used to load and sort data when doing an online DDL operation.

The EXPLAIN FORMAT=TREE now indicates whether an index is covering the query, making it easier to understand how the index is being used.

The Connector/J MySQL JDBC Driver also released a matching 8.0.27 version.

Hibernate ORM 5.6.0 was released. With the release, the 5.5 branch is going into maintenance mode only.

The 42.2.31 and 42.3.0 versions of the PostgreSQL JDBC Driver have been released, providing several bug fixes.

High-Performance Java Persistence workshop

Between the 29th of November and the 2nd of December, I’m going to run a new edition of the amazing High-Performance Java Persistence online workshop.

So, if you’re interested in the following topics:

  • Logging, Testing, Schema Management best practices
  • Data modeling (types, identifiers, entity mappings, inheritance)
  • Batch processing (Persistence Context Management, batch updates, bulk updates)
  • Fetching best practices
  • Transactions and concurrency control
  • Caching best practices

Then, you should definitely join my High-Performance Java Persistence workshop and learn how to make your database application fly like a 🚀.

Get in touch with my latest articles!

StackOverflow Answers

The following StackOverflow answers have been trending over the past two weeks:

Leave a Reply

Your email address will not be published. Required fields are marked *

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