1. 程式人生 > >Hibernate配置檔案和對映元素解釋

Hibernate配置檔案和對映元素解釋

<class
        name="ClassName"                             
        table="tableName"                            
        discriminator-value="discriminator_value"    
        mutable="true|false"                         
        schema="owner"                               
        proxy="ProxyInterface"                       
        dynamic-update="true|false"                  
        dynamic-insert="true|false"                  
        select-before-update="true|false"            
        polymorphism="implicit|explicit"             
        where="arbitrary sql where condition"         (11)
        persister="PersisterClass"                    (12)
        batch-size="N"                                (13)
        optimistic-lock="none|version|dirty|all"      (14)
        lazy="true|false"                             (15)
/>
 name: 持久化類(或者介面)的Java全限定名。
 
 table: 對應的資料庫表名。
 
 discriminator-value(辨別值) (可選 - 預設和類名一樣):一個用於區分不同的子類的值,在多型行為時使用。
 
 mutable(可變) (可選, 預設值為 true): 表明該類的例項可變(不可變)。
 
 schema (可選): 覆蓋在根<hibernate-mapping>元素中指定的schema名字。
 
 proxy (可選): 指定一個介面,在延遲裝載時作為代理使用。你可以在這裡使用該類自己的名字。
 
 dynamic-update(動態更新) (可選,預設為false): 指定用於UPDATE 的SQL將會在執行時動態生成,並且只更新那些改變過的欄位。
 
 dynamic-insert(動態插入) (可選, 預設為false): 指定用於INSERT的 SQL 將會在執行時動態生成,並且只包含那些非空值欄位。
 
 select-before-update (可選,預設值為false): 指定Hibernate除非確定物件的確被修改了,不會執行SQL UPDATE操作。在特定場合(實際上,只會發生在一個臨時物件關聯到一個新的session中去,執行update()的時候),這說明Hibernate會在UPDATE之前執行一次額外的SQL SELECT操作,來決定是否應該進行UPDATE。
 
 polymorphism(多形,多型) (可選, 預設值為 implicit (隱式)): 界定是隱式還是顯式的使用查詢多型。
 
(11) where (可選) 指定一個附加的SQLWHERE 條件,在抓取這個類的物件時會一直增加這個條件。
 
(12) persister (可選): 指定一個定製的ClassPersister。
 
(13) batch-size (可選,預設是1) 指定一個用於根據識別符號抓取例項時使用的"batch size"(批次抓取數量)。
 
(14) optimistic-lock(樂觀鎖定) (可選,預設是version): 決定樂觀鎖定的策略。
 
(15) lazy(延遲) (可選): 假若設定 lazy="true",就是設定這個類自己的名字作為proxy介面的一種等價快捷形式。