<hibernate-mapping>標簽
- auto-import: 在Query query = session.createQuery("from User”); 如果我們將auto-import設置為false,則User必須設置為完整的包名。默認的為true,自動導入。
- 在映射文件中,加上<hibernate-mapping package="cn.itcast.model”>, 則后面的class標簽中就不需要加包名了
<class>標簽
- name:對應持久化類的類名(ClassName),如果沒有設置,hibernate就假定這不是一個poco類映射
- table屬性:如果省略,則表明與name一致,否則這里單獨設置
- dynamic-update:dynamic-update設置為true,更新操作的時候只更新變更字段。
- dynamic-insert:指定用戶insert的sql語句將會在運行時動態生成,并且只包含那些非空字段
- optimistic-lock:設置樂觀鎖,默認是version
- lazy:默認是開啟的,設置為false后,所有的延遲加載功能將被禁用
id標簽
id標簽必須配置在class標簽的第一個位置
- name:實體類的屬性名字
- type: integer,long,short,float,double,character,byte,boolean,yes_no,true_false
- column: 主鍵字段的名字,如果沒有設置則以name為主鍵字段的名字
- length: 字段長度
generator標簽
generator標簽主要是來確定id主鍵的生成器的名字,根據不同的數據庫或者生成策略,選用不同的生成器,也可以自己編寫個性化的生成器。
- increment:用在沒有其他進程往同一張表中插入數據時,沒有多進程情況下
- identity:mysql數據庫應用該方式,相當于auto_imcrement
- sequence: oracle數據應用該方式
- native:跨庫操作時,用該方式,會自動根據方言進行設置
- assigned:用戶自定義id
- foreign:用于一對一關系共享主鍵,兩id值一樣
- uuid:有hibernate生成的32位不重復字符串
property標簽
- name
- column
- type
- length
- unique
- not-null