Hibernate 映射類型
hibernate 映射類型
當你準備一個 hibernate 映射文件時,我們已經看到你把 java 數據類型映射到了 rdbms 數據格式。
在映射文件中已經聲明使用的 types 不是 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' 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 |
二進制和大型數據對象
映射類型 | 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 相關類型
映射類型 | java 類型 | ansi sql 類型 |
---|---|---|
class | java.lang.class | varchar |
locale | java.util.locale | varchar |
timezone | java.util.timezone | varchar |
currency | java.util.currency | varchar |