hibernate映射

   
     
     
     內置的
basic mapping types
可以大致地分類爲:
integer, long, short, float, double, character, byte, boolean, yes_no, true_false
這些類型都對應 Java 的原始類型或者其封裝類,來符合(特定廠商的)SQL 字段類
型。
boolean, yes_no

true_false
都是 Java 中
boolean
或者
java.lang.Boolean
的另外
說法。
string

java.lang.String

VARCHAR
(或者 Oracle 的
VARCHAR2
)的映射。
date, time, timestamp

java.util.Date
和其子類到 SQL 類型
DATE

TIME

TIMESTAMP
(或等價類型)的映射。
calendar, calendar_date

java.util.Calendar
到 SQL 類型
TIMESTAMP

DATE
(或等價類型)的映射。
big_decimal, big_integer

java.math.BigDecimal

java.math.BigInteger

NUMERIC
(或者 Oracle 的
NUMBER
類型)
的映射。
locale, timezone, currency

java.util.Locale

java.util.TimeZone

java.util.Currency

VARCHAR
(或者 Oracle 的
VARCHAR2
類型)的映射。
Locale

Currency
的實例被映射爲它們的 ISO 代碼。
TimeZone

實例被影射爲它的
ID

class

java.lang.Class

VARCHAR
(或者 Oracle 的
VARCHAR2
類型)的映射。
Class
被映射爲
它的全限定名。
binary
把字節數組(byte arrays)映射爲對應的 SQL 二進制類型。
text
把長 Java 字符串映射爲 SQL 的
CLOB
或者
TEXT
類型。
serializable
把可序列化的 Java 類型映射到對應的 SQL 二進制類型。你也可以爲一個並非默認爲基本類
型的可序列化 Java 類或者接口指定 Hibernate 類型
serializable

自定義值類型
93
clob, blob
JDBC 類
java.sql.Clob

java.sql.Blob
的映射。某些程序可能不適合使用這個類型,因爲
blob 和 clob 對象可能在一個事務之外是無法重用的。(而且, 驅動程序對這種類型的支持
充滿着補丁和前後矛盾。)
imm_date, imm_time, imm_timestamp, imm_calendar, imm_calendar_date, imm_serializable, imm_binary
一般來說,映射類型被假定爲是可變的 Java 類型,只有對不可變 Java 類
型,Hibernate 會採取特定的優化措施,應用程序會把這些對象作爲不可變對象處理。比
如,你不應該對作爲
imm_timestamp
映射的 Date 執行
Date.setTime()
。要改變屬性的值,並
且保存這一改變,應用程序必須對這一屬性重新設置一個新的(不一樣的)對象。
實體及其集合的唯一標識可以是除了
binary

blob

clob
之外的任何基礎類型。(聯合標識也
是允許的,後面會說到。)

org.hibernate.Hibernate
中,定義了基礎類型對應的
Type
常量。比如,
Hibernate.STRING


string
類型。
發佈了39 篇原創文章 · 獲贊 8 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章