Class JsonStringType
- java.lang.Object
-
- org.hibernate.type.AbstractStandardBasicType<T>
-
- org.hibernate.type.AbstractSingleColumnStandardBasicType<T>
-
- com.vladmihalcea.hibernate.type.AbstractHibernateType<java.lang.Object>
-
- com.vladmihalcea.hibernate.type.json.JsonStringType
-
- 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 JsonStringType 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.setString(int, String)
at JDBC Driver level.- If you are using Oracle, you can use this
JsonStringType
to map aVARCHAR2
column type storing JSON. For more details, check out this article on vladmihalcea.com. -
If you are using SQL Server, you can use this
JsonStringType
to map anNVARCHAR
column type storing JSON. For more details, check out this article on vladmihalcea.com. -
If you are using MySQL, you can use this
JsonStringType
to map thejson
column type. For more details, check out this article on vladmihalcea.com. -
If you are using PostgreSQL, then you should NOT use this
JsonStringType
. You should useJsonBinaryType
instead. For more details, 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 theJsonType
instead.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static JsonStringType
INSTANCE
-
Constructor Summary
Constructors Constructor Description JsonStringType()
JsonStringType(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
JsonStringType(com.fasterxml.jackson.databind.ObjectMapper objectMapper, java.lang.reflect.Type javaType)
JsonStringType(Configuration configuration)
JsonStringType(ObjectMapperWrapper objectMapperWrapper)
JsonStringType(ObjectMapperWrapper objectMapperWrapper, java.lang.reflect.Type javaType)
JsonStringType(java.lang.reflect.Type javaType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getName()
protected boolean
registerUnderJavaType()
void
setParameterValues(java.util.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, 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
-
-
-
-
Field Detail
-
INSTANCE
public static final JsonStringType INSTANCE
-
-
Constructor Detail
-
JsonStringType
public JsonStringType()
-
JsonStringType
public JsonStringType(java.lang.reflect.Type javaType)
-
JsonStringType
public JsonStringType(Configuration configuration)
-
JsonStringType
public JsonStringType(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
-
JsonStringType
public JsonStringType(ObjectMapperWrapper objectMapperWrapper)
-
JsonStringType
public JsonStringType(com.fasterxml.jackson.databind.ObjectMapper objectMapper, java.lang.reflect.Type javaType)
-
JsonStringType
public JsonStringType(ObjectMapperWrapper objectMapperWrapper, java.lang.reflect.Type javaType)
-
-
Method Detail
-
getName
public java.lang.String getName()
- Specified by:
getName
in interfaceorg.hibernate.type.Type
-
registerUnderJavaType
protected boolean registerUnderJavaType()
- Overrides:
registerUnderJavaType
in classorg.hibernate.type.AbstractStandardBasicType<java.lang.Object>
-
setParameterValues
public void setParameterValues(java.util.Properties parameters)
- Specified by:
setParameterValues
in interfaceorg.hibernate.usertype.ParameterizedType
-
-