Hibernate映射类型

Hibernate映射类型

 

在对象/关系映射文件中,Hibernate采用映射类型作为Java类型和SQL类型的桥梁。Hibernate映射类型分为2种:内置映射类型和自定义映射类型。

 

1、内置映射类型

Hibernate对所有的Java原生类型、常用的Java类型如StringDate等都定义了内置的映射类型。下表列出了Hibernate映射类型、对应的Java类型以及对应的标准SQL类型。供大家学习参考。

Hibernate内置映射类型

Hibernate映射类型

Java类型

标准SQL类型

大小

integer/int

java.lang.Integer/int

INTEGER

4字节

long

java.lang.Long/long

BIGINT

8字节

short

java.lang.Short/short

SMALLINT

2字节

byte

java.lang.Byte/byte

TINYINT

1字节

float

java.lang.Float/float

FLOAT

4字节

double

java.lang.Double/double

DOUBLE

8字节

big_decimal

java.math.BigDecimal

NUMERIC

 

character

java.lang.Character/java.lang.String/char

CHAR(1)

定长字符

string

java.lang.String

VARCHAR

变长字符

boolean/ yes_no/true_false

java.lang.Boolean/Boolean

BIT

布尔类型

date

java.util.Date/java.sql.Date

DATE

日期

timestamp

java.util.Date/java.util.Timestamp

TIMESTAMP

日期

calendar

java.util.Calendar

TIMESTAMP

日期

calendar_date

java.util.Calendar

DATE

日期

binary

byte[]

BLOB

BLOB

text

java.lang.String

TEXT

CLOB

serializable

实现java.io.Serializablej接口的任意Java

BLOB

BLOB

clob

java.sql.Clob

CLOB

CLOB

blob

java.sql.Blob

BLOB

BLOB

class

java.lang.Class

VARCHAR

定长字符

locale

java.util.Locale

VARCHAR

定长字符

timezone

java.util.TimeZone

VARCHAR

定长字符

currency

java.util.Currency

VARCHAR

定长字符

 

2、自定义映射类型

Hibernate提供了自定义映射类型接口,允许用户以编程的方式创建自定义的映射类型。用户自定义的映射类型需要实现net.sf.hibernate.UserTypenet.sf.hibernate.CompositeUserType接口。具体的创建自定义映射类型的方法请参考hibernate官方文档或相关资料,这里不再详细介绍。

 

原文地址:https://www.cnblogs.com/CharmingDang/p/9663851.html