The JPA and Hibernate first-level cache

Introduction In this article, I’m going to explain how the JPA and Hibernate first-level mechanism works and how it can improve the performance of your data access layer. In JPA terminology, the first-level cache is called Persistence Context, and it’s represented by the EntityManager interface. In Hibernate, the first-level cache is represented by the Session interface, which extends the JPA EntityManager one.

MySQL JSON_TABLE – Map a JSON object to a relational database table

Introduction In this article, I’m going to explain how the MySQL JSON_TABLE function works, and how you can use it to transform a JSON object into a relational database table. When using a relational database system, it’s best to design the database schema according to the relational model. However, there are certain use cases when the relational model is too strict, and we are better off storing data in a JSON column type. For instance, as I explained in this article, when designing an audit log table, it’s much more convenient to… Read More

60 years of COBOL – past, present, and future

Introduction 60 years of COBOL, and, most likely, it’s here for the future. In this article, we have the pleasure of interviewing Adrian Tot about the past, present, and future of this technology that still has a very significant impact on our day-to-day business operations. As software developers, we dream of using the latest technologies to solve various business use cases. However, lots of software systems still run on COBOL, a 60-year-old English-like data processing language inspired by Grace Hopper’s idea of having a programming language that’s machine-independent. Every now and then,… Read More

High-Performance Java Persistence Newsletter, Issue 19

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.

Hibernate Session doWork and doReturningWork methods

Introduction In this article, I’m going to explain how the Hibernate Session doWork and doReturningWork methods work, and when you should use them.

Seven years of blogging

It’s all about Persistence! Seven years ago today, I wrote my very first article, and every year I like to write a report with all the achievements that I’ve made over the last year.

High-Performance Java Persistence Newsletter, Issue 18

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.

Spring Boot performance monitoring

Introduction To ensure that your Spring Boot application fulfills the SLA (Service Level Agreement) requirements, you need a performance monitoring tool. In this article, I’m going to show you how you can monitor the data access layer of a Spring Boot application using Hypersistence Optimizer.

Why and when you should use JPA

Introduction If you are wondering why and when you should use JPA or Hibernate, then this article is going to provide you an answer to this very common question. Because I’ve seen this question asked very often on the /r/java Reddit channel, I decided that it’s worth writing an in-depth answer about the strengths and weaknesses of JPA and Hibernate. Although JPA has been a standard since it was first released in 2006, it’s not the only way you can implement a data access layer using Java. We are going to discuss… Read More

High-Performance Java Persistence Newsletter, Issue 17

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.