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内置映射类型

  

二、客户化映射类型(略)

Hibernate映射类型(转),古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。