Class JsonBlobType

  • All Implemented Interfaces:
    java.io.Serializable, org.hibernate.type.BasicType, org.hibernate.type.ProcedureParameterExtractionAware<java.lang.Object>, org.hibernate.type.ProcedureParameterNamedBinder, org.hibernate.type.SingleColumnType<java.lang.Object>, org.hibernate.type.StringRepresentableType<java.lang.Object>, org.hibernate.type.Type, org.hibernate.usertype.DynamicParameterizedType, org.hibernate.usertype.ParameterizedType

    public class JsonBlobType
    extends AbstractHibernateType<java.lang.Object>
    implements org.hibernate.usertype.DynamicParameterizedType

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

    If you are using Oracle, you can use this JsonBlobType to map a BLOB column type storing JSON.

    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.

    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.hibernate.usertype.DynamicParameterizedType

        org.hibernate.usertype.DynamicParameterizedType.ParameterType
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static JsonBlobType INSTANCE  
      • Fields inherited from interface org.hibernate.usertype.DynamicParameterizedType

        ACCESS_TYPE, ENTITY, IS_DYNAMIC, IS_PRIMARY_KEY, PARAMETER_TYPE, PROPERTY, RETURNED_CLASS, XPROPERTY
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getName()  
      void setParameterValues​(java.util.Properties parameters)  
      • 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, resolve, semiResolve, sqlTypes, toColumnNullness, toLoggableString
    • Constructor Detail

      • JsonBlobType

        public JsonBlobType()
      • JsonBlobType

        public JsonBlobType​(java.lang.reflect.Type javaType)
      • JsonBlobType

        public JsonBlobType​(Configuration configuration)
      • JsonBlobType

        public JsonBlobType​(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
      • JsonBlobType

        public JsonBlobType​(com.fasterxml.jackson.databind.ObjectMapper objectMapper,
                            java.lang.reflect.Type javaType)
      • JsonBlobType

        public JsonBlobType​(ObjectMapperWrapper objectMapperWrapper,
                            java.lang.reflect.Type javaType)
    • Method Detail

      • getName

        public java.lang.String getName()
        Specified by:
        getName in interface org.hibernate.type.Type
      • setParameterValues

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