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