Hibernate 内建的 basic types 在 org.hibernate.type 包中

  • StringType
  • MaterializedClobType - 文档中写错成 MaterializedClob
  • TextType
  • CharacterType
  • BooleanType
  • NumericBooleanType
  • YesNoType
  • TrueFalseType
  • ByteType
  • ShortType
  • IntegerType - 文档中写错成 IntegerTypes
  • LongType
  • FloatType
  • DoubleType
  • BigIntegerType
  • BigDecimalType
  • TimestampType
  • TimeType
  • DateType
  • CalendarType
  • CalendarDateType
  • CalendarTimeType
  • CurrencyType
  • LocaleType
  • TimeZoneType
  • UrlType
  • ClassType
  • BlobType
  • ClobType
  • BinaryType
  • MaterializedBlobType
  • ImageType
  • WrapperBinaryType
  • CharArrayType
  • CharacterArrayType
  • UUIDBinaryType
  • UUIDCharType
  • PostgresUUIDType
  • SerializableType
  • StringNVarcharType
  • NTextType
  • NClobType
  • MaterializedNClobType
  • PrimitiveCharacterArrayNClobType
  • CharacterNCharType
  • CharacterArrayNClobType

Java 8 BasicTypes 在 org.hibernate.type 包中

  • DurationType
  • InstantType
  • LocalDateTimeType
  • LocalDateType
  • LocalTimeType
  • OffsetDateTimeType
  • OffsetTimeType
  • ZonedDateTimeType

Hibernate Spatial BasicTypes 在 org.hibernate.spatial 包中

  • JTSGeometryType
  • GeolatteGeometryType

这些 basic types 对应的 JDBC type/Java type 以及在 org.hibernate.type.BasicTypeRegistry 中注册的 key(短名)参见原表

要使用 hibernate-spatial types 需要添加 hibernate-spatial 依赖并使用 org.hibernate.spatial.SpatialDialect 的实现类。

另外 org.hibernate.type 包下还有以下 BasicType

  • AdaptedImmutableType
  • CharacterArrayClobType
  • CompositeCustomType
  • CustomType
  • DbTimestampType
  • ObjectType
  • PrimitiveCharacterArrayClobType
  • RowVersionType
  • SerializableToBlobType
  • WrappedMaterializedBlobType

org.hibernate.type 包下还有以下 Type 但不是 BasicType

  • AnyType
  • ArrayType
  • BagType
  • ComponentType
  • CustomCollectionType
  • EmbeddedComponentType
  • IdentifierBagType
  • ListType
  • ManyToOneType
  • MapType
  • MetaType
  • OneToOneType
  • OrderedMapType
  • OrderedSetType
  • SetType
  • SortedMapType
  • SortedSetType
  • SpecialOneToOneType

org.hibernate.type 包下的抽象类和接口

  • BasicType 接口
  • IdentifierType - 接口
  • CompositeType - 接口
  • VersionType - 接口
  • DiscriminatorType - 接口
  • AssociationType - 接口
  • SingleColumnType - 接口
  • AbstractType - 抽象类
  • AbstractStandardBasicType - 抽象类
  • AbstractSingleColumnStandardBasicType - 抽象类
  • CollectionType - 抽象类
  • EntityType - 抽象类

不在 org.hibernate.type 包下的还有

  • org.hibernate.type.descriptor.converter.AttributeConverterTypeAdapter
  • org.hibernate.persister.entity.DiscriminatorType

另外还有一个内建的 UserType

  • org.hibernate.type.EnumType

检查所有内建的 Type

package org.example.demo.hibernate;

import java.util.Set;

import org.hibernate.type.Type;
import org.reflections.Reflections;

public class Test {
    public static void main(String[] args) throws Exception {
        Reflections reflections = new Reflections("org.hibernate");
        Set<Class<? extends Type>> subTypes = reflections.getSubTypesOf(Type.class);
        for (Class<? extends Type> clazz : subTypes) {
            System.out.println(clazz.getName());
        }
    }
}

输出

  • org.hibernate.type.OrderedMapType
  • org.hibernate.type.IntegerType
  • org.hibernate.type.OrderedSetType
  • org.hibernate.type.ZonedDateTimeType
  • org.hibernate.type.CustomCollectionType
  • org.hibernate.type.PrimitiveCharacterArrayNClobType
  • org.hibernate.type.UUIDCharType
  • org.hibernate.type.DoubleType
  • org.hibernate.type.AbstractType
  • org.hibernate.type.MapType
  • org.hibernate.type.OneToOneType
  • org.hibernate.type.MaterializedBlobType
  • org.hibernate.type.BooleanType
  • org.hibernate.type.PostgresUUIDType
  • org.hibernate.type.TrueFalseType
  • org.hibernate.type.CalendarDateType
  • org.hibernate.type.MetaType
  • org.hibernate.type.BlobType
  • org.hibernate.type.ShortType
  • org.hibernate.type.ListType
  • org.hibernate.type.ManyToOneType
  • org.hibernate.type.SpecialOneToOneType
  • org.hibernate.type.TextType
  • org.hibernate.type.NTextType
  • org.hibernate.type.ClassType
  • org.hibernate.type.CompositeCustomType
  • org.hibernate.type.SetType
  • org.hibernate.type.CustomType
  • org.hibernate.type.WrappedMaterializedBlobType
  • org.hibernate.type.BasicType
  • org.hibernate.type.BigIntegerType
  • org.hibernate.type.BagType
  • org.hibernate.type.DurationType
  • org.hibernate.type.StringNVarcharType
  • org.hibernate.type.MaterializedNClobType
  • org.hibernate.type.IdentifierType
  • org.hibernate.type.CompositeType
  • org.hibernate.type.VersionType
  • org.hibernate.type.AbstractSingleColumnStandardBasicType
  • org.hibernate.type.LocalDateTimeType
  • org.hibernate.type.TimeType
  • org.hibernate.type.ArrayType
  • org.hibernate.type.CharacterArrayType
  • org.hibernate.type.LongType
  • org.hibernate.type.NumericBooleanType
  • org.hibernate.type.BinaryType
  • org.hibernate.type.IdentifierBagType
  • org.hibernate.type.CharacterNCharType
  • org.hibernate.type.DiscriminatorType
  • org.hibernate.type.FloatType
  • org.hibernate.type.BigDecimalType
  • org.hibernate.type.SerializableType
  • org.hibernate.type.TimestampType
  • org.hibernate.type.EmbeddedComponentType
  • org.hibernate.type.InstantType
  • org.hibernate.type.LocalDateType
  • org.hibernate.type.CharacterArrayNClobType
  • org.hibernate.type.YesNoType
  • org.hibernate.type.SerializableToBlobType
  • org.hibernate.type.LocaleType
  • org.hibernate.type.StringType
  • org.hibernate.type.CollectionType
  • org.hibernate.type.EntityType
  • org.hibernate.type.RowVersionType
  • org.hibernate.type.ByteType
  • org.hibernate.type.AbstractStandardBasicType
  • org.hibernate.type.AssociationType
  • org.hibernate.type.SingleColumnType
  • org.hibernate.type.LocalTimeType
  • org.hibernate.type.ObjectType
  • org.hibernate.type.AnyType
  • org.hibernate.type.TimeZoneType
  • org.hibernate.type.CalendarTimeType
  • org.hibernate.type.DbTimestampType
  • org.hibernate.type.UUIDBinaryType
  • org.hibernate.persister.entity.DiscriminatorType
  • org.hibernate.type.MaterializedClobType
  • org.hibernate.type.ClobType
  • org.hibernate.type.SortedSetType
  • org.hibernate.type.CurrencyType
  • org.hibernate.type.descriptor.converter.AttributeConverterTypeAdapter
  • org.hibernate.type.ComponentType
  • org.hibernate.type.CharArrayType
  • org.hibernate.type.DateType
  • org.hibernate.type.CharacterArrayClobType
  • org.hibernate.type.AdaptedImmutableType
  • org.hibernate.type.SortedMapType
  • org.hibernate.type.ImageType
  • org.hibernate.type.OffsetTimeType
  • org.hibernate.type.WrapperBinaryType
  • org.hibernate.type.OffsetDateTimeType
  • org.hibernate.type.CharacterType
  • org.hibernate.type.PrimitiveCharacterArrayClobType
  • org.hibernate.type.NClobType
  • org.hibernate.type.CalendarType
  • org.hibernate.type.UrlType

results matching ""

    No results matching ""