Hibernate映射类型 - hibernate

当编写Hibernate映射文件,映射的Java数据类型到关系型数据库的数据类型。声明及在映射文件中使用的类型不是Java的数据类型,它们不是SQL数据库的数据类型。这些类型就是所谓的Hibernate映射类型,它可以从Java转换到SQL数据类型,反之亦然。

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

基本类型:

映射类型 Java 类型 ANSI SQL 类型
integer int or java.lang.Integer INTEGER
long long or java.lang.Long BIGINT
short short or java.lang.Short SMALLINT
float float or java.lang.Float FLOAT
double double or java.lang.Double DOUBLE
big_decimal java.math.BigDecimal NUMERIC
character java.lang.String CHAR(1)
string java.lang.String VARCHAR
byte byte or java.lang.Byte TINYINT
boolean boolean or java.lang.Boolean BIT
yes/no boolean or java.lang.Boolean CHAR(1) ('Y' or 'N')
true/false boolean or java.lang.Boolean CHAR(1) ('T' or 'F')

Date 和time 类型:

Mapping 类型 Java 类型 ANSI SQL 类型
date java.util.Date or java.sql.Date DATE
time java.util.Date or java.sql.Time TIME
timestamp java.util.Date or java.sql.Timestamp TIMESTAMP
calendar java.util.Calendar TIMESTAMP
calendar_date java.util.Calendar DATE

二进制大对象类型:

Mapping 类型 Java 类型 ANSI SQL 类型
binary byte[] VARBINARY (or BLOB)
text java.lang.String CLOB
serializable any Java class that implements java.io.Serializable VARBINARY (or BLOB)
clob java.sql.Clob CLOB
blob java.sql.Blob BLOB

JDK-related 类型:

Mapping 类型 Java 类型 ANSI SQL 类型
class java.lang.Class VARCHAR
locale java.util.Locale VARCHAR
timezone java.util.TimeZone VARCHAR
currency java.util.Currency VARCHAR