В Hibernate 6 был реализован маппинг JSON. Всё, что теперь требуется, над полем со своей сущностью, проставить аннотацию @JdbcTypeCode и установить тип SqlTypes.JSON.

Пример с полем типа Map:

class Example {
    @JdbcTypeCode(SqlTypes.JSON)
    private Map<String, String> payload;
}

Пример с своим классами: SomeEntity с полем типа SomeJson

//file SomeEntity.java
import jakarta.persistence.Entity;

import jakarta.persistence.Id;
import jakarta.persistence.GeneratedValue;

import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.type.SqlTypes;

import lombok.Data;


@Data
@Entity
public class SomeEntity {

    @Id
    @GeneratedValue
    private Long id;

    @JdbcTypeCode(SqlTypes.JSON)
    private SomeJson jsonField;

}
//file SomeJson.java
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Map;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class SomeJson implements Serializable {
    private Long longValue;
    private String stringValue;
    private Map<String, String> customValues;
}

upd:

на habr вышла статья про это, для более ранних версий рекомендуют ознакомиться с библиотекой hibernate-types. Как-то давно, где-то я её использовал, вот только не помню где