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 |