com.vladmihalcea.hibernate.type.json
Class JsonBinaryType

java.lang.Object
  extended by org.hibernate.type.AbstractStandardBasicType<T>
      extended by org.hibernate.type.AbstractSingleColumnStandardBasicType<T>
          extended by com.vladmihalcea.hibernate.type.AbstractHibernateType<Object>
              extended by com.vladmihalcea.hibernate.type.json.JsonBinaryType
All Implemented Interfaces:
Serializable, org.hibernate.type.BasicType, org.hibernate.type.ProcedureParameterExtractionAware<Object>, org.hibernate.type.ProcedureParameterNamedBinder, org.hibernate.type.SingleColumnType<Object>, org.hibernate.type.StringRepresentableType<Object>, org.hibernate.type.Type, org.hibernate.usertype.DynamicParameterizedType, org.hibernate.usertype.ParameterizedType

public class JsonBinaryType
extends AbstractHibernateType<Object>
implements org.hibernate.usertype.DynamicParameterizedType

Maps any given Java object on a JSON column type that is managed via PreparedStatement.setObject(int, Object) at JDBC Driver level.

If you are using PostgreSQL, you can use this JsonBinaryType to map both jsonb and json column types.

For more details about how to use it, check out this article on vladmihalcea.com.

If you want to use a more portable Hibernate Type that can work on Oracle, SQL Server, PostgreSQL, MySQL, or H2 without any configuration changes, then you should use the JsonType instead.

Author:
Vlad Mihalcea
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.hibernate.usertype.DynamicParameterizedType
org.hibernate.usertype.DynamicParameterizedType.ParameterType
 
Field Summary
static JsonBinaryType INSTANCE
           
 
Fields inherited from interface org.hibernate.usertype.DynamicParameterizedType
ACCESS_TYPE, ENTITY, IS_DYNAMIC, IS_PRIMARY_KEY, PARAMETER_TYPE, PROPERTY, RETURNED_CLASS, XPROPERTY
 
Constructor Summary
JsonBinaryType()
           
JsonBinaryType(Configuration configuration)
           
JsonBinaryType(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
           
JsonBinaryType(com.fasterxml.jackson.databind.ObjectMapper objectMapper, Type javaType)
           
JsonBinaryType(ObjectMapperWrapper objectMapperWrapper)
           
JsonBinaryType(ObjectMapperWrapper objectMapperWrapper, Type javaType)
           
JsonBinaryType(Type javaType)
           
 
Method Summary
 String getName()
           
 void setParameterValues(Properties parameters)
           
 
Methods inherited from class com.vladmihalcea.hibernate.type.AbstractHibernateType
getConfiguration
 
Methods inherited from class org.hibernate.type.AbstractSingleColumnStandardBasicType
nullSafeSet, sqlType
 
Methods inherited from class org.hibernate.type.AbstractStandardBasicType
assemble, beforeAssemble, canDoExtraction, canDoSetting, compare, deepCopy, deepCopy, defaultSizes, dictatedSizes, disassemble, extract, extract, fromString, fromStringValue, get, getColumnSpan, getDefaultSize, getDictatedSize, getHashCode, getHashCode, getJavaTypeDescriptor, getMutabilityPlan, getRegistrationKeys, getReplacement, getReturnedClass, getSemiResolvedType, getSqlTypeDescriptor, hydrate, isAnyType, isAssociationType, isCollectionType, isComponentType, isDirty, isDirty, isDirty, isEntityType, isEqual, isEqual, isModified, isMutable, isSame, isXMLElement, nullSafeGet, nullSafeGet, nullSafeGet, nullSafeGet, nullSafeSet, nullSafeSet, nullSafeSet, nullSafeSet, registerUnderJavaType, remapSqlTypeDescriptor, replace, replace, resolve, semiResolve, set, setJavaTypeDescriptor, setSqlTypeDescriptor, sqlTypes, toColumnNullness, toLoggableString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.hibernate.type.SingleColumnType
fromStringValue, get, nullSafeGet, set, toString
 
Methods inherited from interface org.hibernate.type.Type
assemble, beforeAssemble, compare, deepCopy, defaultSizes, dictatedSizes, disassemble, getColumnSpan, getHashCode, getHashCode, getReturnedClass, getSemiResolvedType, hydrate, isAnyType, isAssociationType, isCollectionType, isComponentType, isDirty, isDirty, isEntityType, isEqual, isEqual, isModified, isMutable, isSame, nullSafeGet, nullSafeGet, nullSafeSet, replace, replace, resolve, semiResolve, sqlTypes, toColumnNullness, toLoggableString
 

Field Detail

INSTANCE

public static final JsonBinaryType INSTANCE
Constructor Detail

JsonBinaryType

public JsonBinaryType()

JsonBinaryType

public JsonBinaryType(Type javaType)

JsonBinaryType

public JsonBinaryType(Configuration configuration)

JsonBinaryType

public JsonBinaryType(com.fasterxml.jackson.databind.ObjectMapper objectMapper)

JsonBinaryType

public JsonBinaryType(ObjectMapperWrapper objectMapperWrapper)

JsonBinaryType

public JsonBinaryType(com.fasterxml.jackson.databind.ObjectMapper objectMapper,
                      Type javaType)

JsonBinaryType

public JsonBinaryType(ObjectMapperWrapper objectMapperWrapper,
                      Type javaType)
Method Detail

getName

public String getName()
Specified by:
getName in interface org.hibernate.type.Type

setParameterValues

public void setParameterValues(Properties parameters)
Specified by:
setParameterValues in interface org.hibernate.usertype.ParameterizedType


Copyright © 2021. All rights reserved.