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