Hibernate - 映射类型



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

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

基本类型

映射类型 Java 类型 ANSI SQL 类型
integer int 或 java.lang.Integer INTEGER
long long 或 java.lang.Long BIGINT
short short 或 java.lang.Short SMALLINT
float float 或 java.lang.Float FLOAT
double double 或 java.lang.Double DOUBLE
big_decimal java.math.BigDecimal NUMERIC
character java.lang.String CHAR(1)
string java.lang.String VARCHAR
byte byte 或 java.lang.Byte TINYINT
boolean boolean 或 java.lang.Boolean BIT
yes/no boolean 或 java.lang.Boolean CHAR(1) ('Y' 或 'N')
true/false boolean 或 java.lang.Boolean CHAR(1) ('T' 或 'F')

日期和时间类型

映射类型 Java 类型 ANSI SQL 类型
date java.util.Date 或 java.sql.Date DATE
time java.util.Date 或 java.sql.Time TIME
timestamp java.util.Date 或 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 的 Java 类 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
广告