Hibernate - 映射类型

准备Hibernate映射文档时,您会发现将Java数据类型映射到RDBMS数据类型.在映射文件中声明和使用的类型不是Java数据类型;它们也不是SQL数据库类型.这些类型称为 Hibernate映射类型,它可以从Java转换为SQL数据类型,反之亦然.

本章列出了所有的基本,日期和时间,大对象和各种其他内置映射类型.

原语类型

映射类型Java类型ANSI SQL类型
整数int或java.lang.IntegerINTEGER
longlong或java.lang.LongBIGINT
shortshort或java.lang.ShortSMALLINT
floatfloat或java.lang .FloatFLOAT
doubledouble或j ava.lang.DoubleDOUBLE
big_decimaljava.math.BigDecimalNUMERIC
characterjava.lang.StringCHAR(1)
stringjava.lang.StringVARCHAR
bytebyte或java.lang.ByteTINYINT
booleanboolean或java.lang.BooleanBIT
yes/noboolean或java.lang.BooleanCHAR(1)('Y'或'N')
true/falseboolean或java.lang.BooleanCHAR(1)('T'或'F')

日期和时间类型

映射类型Java类型ANSI SQL类型
datejava.util.Date或java.sql.DateDATE
timejava .util.Date或java.sql.TimeTIME
timestampjava.util.Date或java.sql.Timestamp中时间戳
calendarjava.util.CalendarTIMESTAMP
calendar_datejava.util.CalendarDATE

二进制和大对象类型

映射类型Java类型ANSI SQL类型
binarybyte []VARBINARY(或BLOB)
textjava.lang.字符串CLOB
serializable任何实现java.io.Serializable的Java类VARBINARY(或BLOB)
clobjava.sql.ClobCLOB
blobjava.sql.BlobBLOB

与JDK相关的类型

映射类型Java类型ANSI SQL类型
classjava.lang.ClassVARCHAR
localejava.util.LocaleVARCHAR
timezonejava.util.TimeZoneVARCHAR
currencyjava.util.CurrencyVARCHAR