在做hbiernate的many-to-many的雙向關(guān)聯(lián)時(shí),一方要設(shè)置inverse="true",另一方要設(shè)置inverse="false"。inverse="false"的一方保存時(shí),維護(hù)多對(duì)多之間的關(guān)系,且只要將相互的關(guān)系告訴這一方即可。
如果inverse都設(shè)置為true,雙方的關(guān)系將都不到維護(hù)。
如果都設(shè)置為false,雙方將共同維護(hù)之間的關(guān)系,這時(shí),要將雙方的包含關(guān)系都要設(shè)置清楚,否則將會(huì)導(dǎo)致關(guān)系維護(hù)混亂。
如果設(shè)置了casade="save-update",只能設(shè)置一方,如果雙方都設(shè)置的話,當(dāng)更新一方的時(shí)候,同時(shí)會(huì)更新另一方,另一方的更新又會(huì)導(dǎo)致一方的更新。
lazy loading指的是當(dāng)實(shí)際要使用到某個(gè)數(shù)據(jù)字段時(shí)候,才將其從數(shù)據(jù)庫(kù)中去出,避免內(nèi)存的浪費(fèi)。
inverse . inverse默認(rèn)是false .當(dāng)你指定inverse="true" cascade="none" 時(shí),這個(gè)實(shí)體對(duì)這個(gè)屬性是沒(méi)有持久更新的權(quán)利的,它把這個(gè)屬性的管理權(quán)利完全交給了關(guān)聯(lián)的另一方了。