Hibernate映射类型分为两种:内置映射类型和客户化映射类型。内置映射类型负责把一些常见的Java类型映射到相应的SQL类型;此外,Hibernate还允许用户实现UserType或CompositeUserType接口,来灵活地定制客户化映射类型。客户化类型能够把用户定义的Java类型映射到数据库表的相应字段。
一、Hibernate的内置映射类型
1、Java基本类型的Hibernate映射类型
Hibernate映射类型
|
Java类型
|
标准SQL类型
|
大小和取值范围
|
integer或者int
|
int或者java.lang.Integer
|
INTEGER
|
4字节
|
long
|
long Long
|
BIGINT
|
8字节
|
short
|
short Short
|
SMALLINT
|
2字节
|
byte
|
byte Byte
|
TINYINT
|
1字节
|
float
|
float Float
|
FLOAT
|
4字节
|
double
|
double Double
|
DOUBLE
|
8字节
|
big_decimal
|
java.math.BigDecimal
|
NUMERIC
|
NUMERIC(8,2)8位
|
character
|
char Character String
|
CHAR(1)
|
定长字符
|
string
|
String
|
VARCHAR
|
变长字符串
|
boolean
|
boolean Boolean
|
BIT
|
布尔类型
|
yes_no
|
boolean Boolean
|
CHAR(1) (Y-N)
|
布尔类型
|
true_false
|
boolean Boolean
|
CHAR(1) (T-F)
|
布尔类型
|
2、Java时间和日期类型的Hibernate映射
映射类型
|
Java类型
|
标准SQL类型
|
描述
|
date
|
util.Date或者sql.Date
|
DATE
|
YYYY-MM-DD
|
time
|
Date Time
|
TIME
|
HH:MM:SS
|
timestamp
|
Date Timestamp
|
TIMESTAMP
|
YYYYMMDDHHMMSS
|
calendar
|
calendar
|
TIMESTAMP
|
YYYYMMDDHHMMSS
|
calendar_date
|
calendar
|
DATE
|
YYYY-MM-DD
|
3、Java大对象类型的Hibernate映射类型
映射类型
|
Java类型
|
标准SQL类型
|
MySQL类型
|
Oracle类型
|
binary
|
byte[]
|
VARBINARY(或BLOB)
|
BLOB
|
BLOB
|
text
|
String
|
CLOB
|
TEXT
|
CLOB
|
serializable
|
Serializable接口任意实现类
|
VARBINARY(或BLOB)
|
BLOB
|
BLOB
|
clob
|
java.sql.Clob
|
CLOB
|
TEXT
|
CLOB
|
blob
|
java.sql.Blob
|
BLOB
|
BLOB
|
BLOB
|
在程序中通过Hibernate来保存java.sql.Clob或者java.sql.Blob实例时,必须包含两个步骤:
l 在一个数据库事务中先保存一个空的Blob或Clob实例。
l 接着锁定这条记录,更新上面保存的Blob或Clob实例,把二进制数据或文本数据写到Blob或Clob实例中。
4、JDK自带的个别Java类的Hibernate映射类型(略)
5、使用Hibernate内置映射类型
二、客户化映射类型(略)
结束!
http://aumy2008.blogbus.com/logs/13732626.html 转自小于