Hibernate 简明教程

Hibernate - Mapping Types

在准备 Hibernate 映射文档时,你会发现你将 Java 数据类型映射到 RDBMS 数据类型。在映射文件中声明和使用 types 并非 Java 数据类型;它们也不是 SQL 数据库类型。这些类型称为 Hibernate mapping types ,可以从 Java 转换为 SQL 数据类型,反之亦然。

本章列出了所有基本数据类型、日期和时间、大型对象以及其他各种内置映射类型。

Primitive Types

Mapping type

Java type

ANSI SQL Type

integer

int or java.lang.Integer

INTEGER

long

long or java.lang.Long

BIGINT

short

short or java.lang.Short

SMALLINT

float

float or java.lang.Float

FLOAT

double

double or java.lang.Double

DOUBLE

big_decimal

java.math.BigDecimal

NUMERIC

character

java.lang.String

CHAR(1)

string

java.lang.String

VARCHAR

byte

byte or java.lang.Byte

TINYINT

boolean

boolean or java.lang.Boolean

BIT

yes/no

boolean or java.lang.Boolean

CHAR(1) ('Y' or 'N')

true/false

boolean or java.lang.Boolean

CHAR(1) ('T' or 'F')

Date and Time Types

Mapping type

Java type

ANSI SQL Type

date

java.util.Date or java.sql.Date

DATE

time

java.util.Date or java.sql.Time

TIME

timestamp

java.util.Date or java.sql.Timestamp

TIMESTAMP

calendar

java.util.Calendar

TIMESTAMP

calendar_date

java.util.Calendar

DATE

Binary and Large Object Types

Mapping type

Java type

ANSI SQL Type

binary

byte[]

VARBINARY (or BLOB)

text

java.lang.String

CLOB

serializable

实现 java.io.Serializable 的任何 Java 类

VARBINARY (or BLOB)

clob

java.sql.Clob

CLOB

blob

java.sql.Blob

BLOB

Mapping type

Java type

ANSI SQL Type

class

java.lang.Class

VARCHAR

locale

java.util.Locale

VARCHAR

timezone

java.util.TimeZone

VARCHAR

currency

java.util.Currency

VARCHAR