Coolhwm 代码空间

千里之行,始于足下

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Hibernate的映射类型(转)

关键字: 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 实例中。

posted on 2011-10-28 23:19  coolhwm  阅读(309)  评论(0编辑  收藏  举报