现在的位置: 首页 > 综合 > 正文

【转载】Hibernate映射类型对照表

2013年11月11日 ⁄ 综合 ⁄ 共 1689字 ⁄ 字号 评论关闭

 

Hibernate映射类型对照表
java类型  Hibernate映射类型  SQL类型
java.math.BigDecimal big_decimal numeric
byte[] binary varbinary(blob)
boolean(java.lang.Boolean) boolean bit
byte(java.lang.Byte) byte  tinyint
java.util.Calendar calendar timestamp
java.sql.Clob clob clob
java.util.Date 或java.sql.Date date date
double(java.lang.Double) double double
float(java.lang.Float) float float
int (java.lang.Integer) integer integer
java.util.Local local varchar
long(java.lang.Long) long bigint
java.io.Serializable的某个实例 serializable varbinary(或blob)
java.lang.String string varchar
java.lang.String text clob
java.util.Date 或 java.sql.Timestamp time timestamp

从书上把这个表抄下来方便以后查阅.

考虑到  操作 blob 的字段太复杂 一个变换的技巧是 . 实体类用 byte[] 类型 ,  hibernate 类型用 binary ,数据库还是用 blob .这样 可以简化一些操作.

 

Hibernate的映射类型 hibernate mysql映射类型

 

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 实例中

 

抱歉!评论已关闭.