Java Map to JSON mapping with JPA and Hibernate

Introduction In this article, we are going to see how we can store Java Map entity attributes in JSON columns when using JPA, Hibernate, and the Hibernate Types project. While you can also persist Java Map entity attributes in PostgreSQL HStore columns, a JSON column type is a much more common option, especially since it works with other relational databases, like Oracle, SQL Server, or MySQL. As you already have seen, the Hibernate Types project allows you to map a JSON column type to a wide variety of JPA entity attributes, like… Read More

JPA and Hibernate Query setParameter – User Guide

Introduction In this article, I’m going to show you how the JPA Query setParameter method works for basic entity attributes, and how you can use it when dealing with custom Hibernate types. If you ever stumbled on the “column is of type jsonb but expression is of type bytea” PostgreSQL issue and didn’t know how to fix it, then you should definitely read this article.

How to get the SQL query from JPQL or JPA Criteria

Introduction In this article, I’m going to show you how you can get the auto-generated SQL query from a JPQL or JPA Criteria API entity query.

How to generate JPA entity identifier values using a database sequence

Introduction In this article, I’m going to show you how you can generate entity identifier values using a database sequence when using JPA and Hibernate. Using a database sequence is the most efficient Hibernate identifier generation strategy, as it allows you to take advantage of the automatic JDBC batching mechanism.

How to fetch a one-to-many DTO projection with JPA and Hibernate

Introduction In this article, I’m going to show you how you can fetch a one-to-many relationship as a DTO projection when using JPA and Hibernate. While entities make it very easy to fetch additional relationships, when it comes to DTO projections, you need to use a ResultTransformer to achieve this goal.

ManyToOne JPA and Hibernate association best practices

Introduction In this article, I’m going to show you what is the best way to map a ManyToOne association when using JPA and Hibernate. Since the @ManyToOne association is the most common relationship, knowing how to map it properly will have a significant impact on application performance.

How to map Date and Timestamp with JPA and Hibernate

Introduction In this article, I’m going to show you what is the best way to map date and timestamp column types when using JPA and Hibernate. While there are many options to map date and timestamp columns on the Java side, as you will soon see, not all of them are suitable.

The best way to use Java Records with JPA and Hibernate

Introduction In this article, I’m going to show you how you can use Java Records with JPA and Hibernate. Added since version 14 as a preview feature, Java Records allow us to create compact DTOs (Data Transfer Objects) or Value Objects.

JPA Criteria Metamodel Generation and Usage Guide

Introduction In this article, I’m going to show you how to generate the JPA Metamodel using Hibernate, and how you can use it to write typesafe Criteria API queries.

The best way to use the JPA SqlResultSetMapping

Introduction In this article, I’m going to explain how to use the JPA SqlResultSetMapping, as well as the EntityResult, ConstructorResult, and ColumnResult options.