映射文件的根元素爲<hibernate-mapping>,其下有多個<class>子元素,每一個<class>表明多個持久化類的映射。該<hibernate-mapping>有以下屬性:數據庫
1)schema:指定所映射的數據庫Schema名,若是指定了該屬性,則表名會自動添加該Schema前綴。app
2)catalog:指定所映射的數據庫的Catalog名,若是指定了該屬性,則表名會自動添加該Catalog前綴。性能
3)defalut-cascade:設置Hibernate默認的級聯風格,該 屬性的默認值爲none。當配置Java屬性映射和集合映射時,還能夠指定cascade屬性,用於覆蓋默認的級聯風格。hibernate
4)defalut-access:指定Hibernate默認的屬性訪問策略,默認值爲property,即便用getter/setter方法來訪問屬性,若是指定爲access="field",則Hibernate會忽略getter/setter方法對,而是直接經過反射來訪問成員變量。代理
5)defalut-lazy:設置Hibernate默認的延遲加載策略,該屬性值默認爲true,即啓用延遲加載策略;一般狀況該屬性關閉,當一個表關聯其餘表時,加載該表時會將其餘關聯對象加載,消耗性能。對象
6)auto-import:設置是否容許在查詢語言中使用非全限定的類名,默認爲true;若是同一份映射文件中有兩個持久化類映射時,它們的類名同樣,只是全限定名不一樣,則應該使auto-import="false",而後寫出該類的全限定類名。繼承
7)package:該屬性指定一個包前綴,對於映射文件中沒有指定全限定的類名,則默認使用該包前綴。接口
8)table:指定該持久化類映射的表名,Hibernate默認以持久化類的類名做爲表名。get
9)discriminator-value:指定區分不一樣子類的值,當使用<subclass>來定義持久化類的繼承關係映射時須要使用該屬性。table
10)mutable:用於指定持久化類的實列是可變對象仍是不可變對象,該屬性只接受true和false,默認爲true。
11)proxy:指定一個接口,在延遲裝載時做爲代理使用,也能夠在這裏指定該類本身的名字。
12)dynamic-update:指定Hibernate的update語句是否在運行時動態生成,而且只更新那些變過的字段。默認是false,若開啓將致使更多時間來生成SQL語句。
13)dynamic-insert:指定Hibernate的insert語句是否在運行時動態生成,而且只更新那些變過的字段。默認是false,若開啓將致使更多時間來生成SQL語句。
14)where:指定一個附加的SQL語句中的過濾條件,只要在加載該持久化對象時都爲新增該where條件。
15)bathc-size:指定根據標識符來抓取實列時每批抓取的實列數。默認值爲1。