HIBERNATE的映射類型

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內置映射類型

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章