High-performance Java Persistence.pdf May 2026
Vlad Mihalcea argues that you cannot write high-performance data access code unless you understand the underlying database. The PDF is structured into three distinct parts, which we will unpack below. Most developers skip the connection pool chapter. They shouldn't.
While free PDFs float around the internet, the official, up-to-date version is worth the investment. It includes the "Ultimate Hibernate Performance Tuning Checklist" —a two-page PDF inside the main PDF that can fix 90% of production latency issues in 15 minutes. High-performance Java Persistence.pdf
int updatedEntities = entityManager.createQuery( "update Post set status = :newStatus where createdOn < :date") .setParameter("newStatus", Status.OLD) .setParameter("date", LocalDate.now().minusDays(30)) .executeUpdate(); // Sends 1 SQL statement. The PDF spends pages explaining why the first loop kills your performance (transaction bloat, row lock escalation, and network round trips) and how to identify this using the logger, a tool the author created. Is the PDF Relevant in the Age of Spring Boot 3 & Native Compilation? Absolutely. With the rise of GraalVM Native Image , persistence has become tricky again. Reflection, proxies, and dynamic bytecode generation (Hibernate's specialty) often break native compilation. Vlad Mihalcea argues that you cannot write high-performance