映射類型
當(dāng)你準(zhǔn)備一個 Hibernate 映射文件時,我們已經(jīng)看到你把 Java 數(shù)據(jù)類型映射到了 RDBMS 數(shù)據(jù)格式。在映射文件中已經(jīng)聲明被使用的 types 不是 Java 數(shù)據(jù)類型;它們也不是 SQL 數(shù)據(jù)庫類型。這種類型被稱為 Hibernate 映射類型,可以從 Java 翻譯成 SQL,反之亦然。
在這一章中列舉出所有的基礎(chǔ),日期和時間,大型數(shù)據(jù)對象,和其它內(nèi)嵌的映射數(shù)據(jù)類型。
原始類型
映射類型 |
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' or 'N') |
true/false |
boolean 或 java.lang.Boolean |
CHAR(1) ('T' or '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 |
二進(jìn)制和大型數(shù)據(jù)對象
映射類型 |
Java 類型 |
ANSI SQL 類型 |
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 相關(guān)類型
映射類型 |
Java 類型 |
ANSI SQL 類型 |
class |
java.lang.Class |
VARCHAR |
locale |
java.util.Locale |
VARCHAR |
timezone |
java.util.TimeZone |
VARCHAR |
currency |
java.util.Currency |
VARCHAR |
更多建議: