Hibernate映射類型分為兩種:內(nèi)置映射類型和客戶化映射類型。內(nèi)置映射類型負責(zé)把一些常見的Java類型映射到相應(yīng)的SQL類型;此外,Hibernate還允許用戶實現(xiàn)UserTypeCompositeUserType接口,來靈活地定制客戶化映射類型。客戶化類型能夠把用戶定義的Java類型映射到數(shù)據(jù)庫表的相應(yīng)字段。

 

一、Hibernate的內(nèi)置映射類型

1Java基本類型的Hibernate映射類型

Hibernate映射類型

Java類型

標準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)

定長字符

string

String

VARCHAR

變長字符串

boolean

boolean Boolean

BIT

布爾類型

yes_no

boolean Boolean

CHAR(1) (Y-N)

布爾類型

true_false

boolean Boolean

CHAR(1) (T-F)

布爾類型

 

2Java時間和日期類型的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

 

3Java大對象類型的Hibernate映射類型

映射類型

Java類型

標準SQL類型

MySQL類型

Oracle類型

binary

byte[]

VARBINARY(BLOB)

BLOB

BLOB

text

String

CLOB

TEXT

CLOB

serializable

Serializable接口任意實現(xiàn)類

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         在一個數(shù)據(jù)庫事務(wù)中先保存一個空的BlobClob實例。

l         接著鎖定這條記錄,更新上面保存的BlobClob實例,把二進制數(shù)據(jù)或文本數(shù)據(jù)寫到BlobClob實例中。

 

4JDK自帶的個別Java類的Hibernate映射類型(略)

 

5、使用Hibernate內(nèi)置映射類型

  

二、客戶化映射類型(略)

結(jié)束!

http://aumy2008.blogbus.com/logs/13732626.html  轉(zhuǎn)自小于