📜  Hibernate-映射类型

📅  最后修改于: 2020-11-16 06:58:44             🧑  作者: Mango


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

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

基本类型

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’)

日期和时间类型

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

二进制和大对象类型

Mapping type Java type ANSI SQL Type
binary byte[] VARBINARY (or BLOB)
text java.lang.String CLOB
serializable any Java class that implements java.io.Serializable VARBINARY (or BLOB)
clob java.sql.Clob CLOB
blob java.sql.Blob BLOB

与JDK相关的类型

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