com.vladmihalcea.hibernate.type.json
Class JsonType

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.JsonType
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 JsonType
extends AbstractHibernateType<Object>
implements org.hibernate.usertype.DynamicParameterizedType

JsonType allows you to map any given JSON object (e.g., POJO, Map<String, Object>, List<T>, JsonNode) on any of the following database systems:

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

If you are using Oracle and want to store JSON objects in a BLOB column types, then you should use the JsonBlobType instead. For more details, check out this article on vladmihalcea.com.

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 JsonType 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
JsonType()
           
JsonType(Configuration configuration)
           
JsonType(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
           
JsonType(com.fasterxml.jackson.databind.ObjectMapper objectMapper, Type javaType)
           
JsonType(ObjectMapperWrapper objectMapperWrapper)
           
JsonType(ObjectMapperWrapper objectMapperWrapper, Type javaType)
           
JsonType(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 JsonType INSTANCE
Constructor Detail

JsonType

public JsonType()

JsonType

public JsonType(Type javaType)

JsonType

public JsonType(Configuration configuration)

JsonType

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

JsonType

public JsonType(ObjectMapperWrapper objectMapperWrapper)

JsonType

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

JsonType

public JsonType(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.