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