SQL Seek Method or Keyset Pagination

Introduction In this article, we are going to see what the SQL Seek Method or Keyset Pagination is and why you should consider it when navigating over large results sets. The goal of pagination is to avoid fetching large volumes of data since the UI has a limited viewport that could be used to display data.

Blaze Persistence – the best way to write JPA Criteria queries

Introduction In this article, I’m going to explain why the Blaze Persistence framework provides the best API to write JPA Criteria queries. Blaze Persistence is a very advanced data access framework maintained by Christian Beikov, who’s also a Hibernate ORM project contributor. I first heard of Blaze Persistence during an interview Christian gave us for the Hibernate forum, and if you are using JPA and Hibernate, you should definitely use Blaze Persistence as well.

Hibernate Physical Naming Strategy

Introduction In this article, I’m going to show you how the Hibernate Physical Naming Strategy works and how you can use it to customize the default mapping between entity attributes and database identifiers.

9 High-Performance Tips when using Oracle with JPA and Hibernate

Introduction In this article, I’m going to show you 9 tips that will help you speed up your Oracle database application when using JPA and Hibernate. To get the most out of the relational database in use, you need to make sure the data access layer resonates with the underlying database system, so, in this article, I’m going to present you several tips that can boost up the performance of your Oracle, JPA and Hibernate applications.

Hibernate Application Performance Tuning

Introduction Because performance tuning is very important when it comes to developing a data access layer, in this article, I’m going to show you how you can optimize the famous Hibernate Caveat Emptor application using Hypersistence Optimizer. The Caveat Emptor application was created by Christian Bauer and Gavin King for the Hibernate in Action book they published in 2004 and was included in both the first and second editions of the well-known Java Persistence with Hibernate book.

Use Hibernate Dynamic Update for JSON properties

Introduction In this article, I’m going to explain why you should always use the Hibernate Dynamic Update feature for entities that map JSON properties. Since Hibernate ORM does not offer support for JSON column types, we are going to use the Hibernate Types library, which provides a JsonType that allows you to map String, Map, List, JsonNode, Java Records, or POJOs on JSON columns, no matter if you are using PostgreSQL, MySQL, Oracle, SQL Server, or H2.

20 years of Hibernate

Introduction 20 years of Hibernate and counting. On the 23rd of May 2001, Gavin King launched the first version of Hibernate. Twenty years later, Hibernate is one the most successful Java data access frameworks, having millions of developers using it on a per-daily basis.

JPA Entity Graph

Introduction In this article, I’m going to explain how you can fetch an entity association using a JPA Entity Graph and how you can build it either declaratively or programmatically.

SQL Server JDBC – Set sendStringParametersAsUnicode to false

Introduction In this article, I’m going to explain why you should always disable the sendStringParametersAsUnicode default JDBC Driver setting when using SQL Server.

Optimistic vs. Pessimistic Locking

Introduction In this article, I’m going to explain what is the difference between optimistic and pessimistic locking, as well as when you should employ one or the other concurrency control strategies.