Hibernate映射類型分為兩種:內(nèi)置映射類型和客戶化映射類型。內(nèi)置映射類型負(fù)責(zé)把一些常見(jiàn)的Java類型映射到相應(yīng)的SQL類型;此外,Hibernate還允許用戶實(shí)現(xiàn)UserType或CompositeUserType接口,來(lái)靈活地定制客戶化映射類型。客戶化類型能夠把用戶定義的Java類型映射到數(shù)據(jù)庫(kù)表的相應(yīng)字段。
一、Hibernate的內(nèi)置映射類型
1、Java基本類型的Hibernate映射類型
Hibernate映射類型
|
Java類型
|
標(biāo)準(zhǔn)SQL類型
|
大小和取值范圍
|
integer或者int
|
int或者java.lang.Integer
|
INTEGER
|
4字節(jié)
|
long
|
long Long
|
BIGINT
|
8字節(jié)
|
short
|
short Short
|
SMALLINT
|
2字節(jié)
|
byte
|
byte Byte
|
TINYINT
|
1字節(jié)
|
float
|
float Float
|
FLOAT
|
4字節(jié)
|
double
|
double Double
|
DOUBLE
|
8字節(jié)
|
big_decimal
|
java.math.BigDecimal
|
NUMERIC
|
NUMERIC(8,2)8位
|
character
|
char Character String
|
CHAR(1)
|
定長(zhǎng)字符
|
string
|
String
|
VARCHAR
|
變長(zhǎng)字符串
|
boolean
|
boolean Boolean
|
BIT
|
布爾類型
|
yes_no
|
boolean Boolean
|
CHAR(1) (Y-N)
|
布爾類型
|
true_false
|
boolean Boolean
|
CHAR(1) (T-F)
|
布爾類型
|
2、Java時(shí)間和日期類型的Hibernate映射
映射類型
|
Java類型
|
標(biāo)準(zhǔn)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大對(duì)象類型的Hibernate映射類型
映射類型
|
Java類型
|
標(biāo)準(zhǔn)SQL類型
|
MySQL類型
|
Oracle類型
|
binary
|
byte[]
|
VARBINARY(或BLOB)
|
BLOB
|
BLOB
|
text
|
String
|
CLOB
|
TEXT
|
CLOB
|
serializable
|
Serializable接口任意實(shí)現(xiàn)類
|
VARBINARY(或BLOB)
|
BLOB
|
BLOB
|
clob
|
java.sql.Clob
|
CLOB
|
TEXT
|
CLOB
|
blob
|
java.sql.Blob
|
BLOB
|
BLOB
|
BLOB
|
在程序中通過(guò)Hibernate來(lái)保存java.sql.Clob或者java.sql.Blob實(shí)例時(shí),必須包含兩個(gè)步驟:
l 在一個(gè)數(shù)據(jù)庫(kù)事務(wù)中先保存一個(gè)空的Blob或Clob實(shí)例。
l 接著鎖定這條記錄,更新上面保存的Blob或Clob實(shí)例,把二進(jìn)制數(shù)據(jù)或文本數(shù)據(jù)寫(xiě)到Blob或Clob實(shí)例中。
4、JDK自帶的個(gè)別Java類的Hibernate映射類型(略)
5、使用Hibernate內(nèi)置映射類型
二、客戶化映射類型(略)
結(jié)束!
http://aumy2008.blogbus.com/logs/13732626.html 轉(zhuǎn)自小于