Hibernate 映射类型

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

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


原始类型

映射类型 Java 类型 ANSI SQL 类型
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')

日期和时间类型

映射类型 Java 类型 ANSI SQL 类型
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

二进制和大对象类型

映射类型 Java 类型 ANSI SQL 类型
binary byte[] VARBINARY (或者 BLOB)
text java.lang.String CLOB
serializable 任何实现 java.io.Serializable 接口的类 VARBINARY (或者 BLOB)
clob java.sql.Clob CLOB
blob java.sql.Blob BLOB

JDK 相关的类型

映射类型 Java 类型 ANSI SQL 类型
class java.lang.Class VARCHAR
locale java.util.Locale VARCHAR
timezone java.util.TimeZone VARCHAR
currency java.util.Currency VARCHAR

查看笔记

扫码一下
查看教程更方便