准备Hibernate映射文档时,您会发现将Java数据类型映射到RDBMS数据类型.在映射文件中声明和使用的类型不是Java数据类型;它们也不是SQL数据库类型.这些类型称为 Hibernate映射类型,它可以从Java转换为SQL数据类型,反之亦然.
本章列出了所有的基本,日期和时间,大对象和各种其他内置映射类型.
原语类型
映射类型 | Java类型 | ANSI SQL类型 |
---|
整数 | int或java.lang.Integer | INTEGER |
long | long或java.lang.Long | BIGINT |
short | short或java.lang.Short | SMALLINT |
float | float或java.lang .Float | FLOAT |
double | double或j ava.lang.Double | DOUBLE |
big_decimal | java.math.BigDecimal | NUMERIC |
character | java.lang.String | CHAR(1) |
string | java.lang.String | VARCHAR |
byte | byte或java.lang.Byte | TINYINT |
boolean | boolean或java.lang.Boolean | BIT |
yes/no | boolean或java.lang.Boolean | CHAR(1)('Y'或'N') |
true/false | boolean或java.lang.Boolean | CHAR(1)('T'或'F') |
日期和时间类型
映射类型 | Java类型 | ANSI SQL类型 |
---|
date | java.util.Date或java.sql.Date | DATE |
time | java .util.Date或java.sql.Time | TIME |
timestamp | java.util.Date或java.sql.Timestamp中 | 时间戳 |
calendar | java.util.Calendar | TIMESTAMP |
calendar_date | java.util.Calendar | DATE |
二进制和大对象类型
映射类型 | Java类型 | ANSI SQL类型 |
---|
binary | byte [] | VARBINARY(或BLOB) |
text | java.lang.字符串 | CLOB |
serializable | 任何实现java.io.Serializable的Java类 | VARBINARY(或BLOB) |
clob | java.sql.Clob | CLOB |
blob | java.sql.Blob | BLOB |
与JDK相关的类型
映射类型 | Java类型 | ANSI SQL类型 |
---|
class | java.lang.Class | VARCHAR |
locale | java.util.Locale | VARCHAR |
timezone | java.util.TimeZone | VARCHAR |
currency | java.util.Currency | VARCHAR |