一對(duì)一主鍵:單向和雙向
一. ?單向一對(duì)一主鍵(一個(gè)對(duì)象中存在另一個(gè)對(duì)象的引用,只能從一個(gè)對(duì)象找另一個(gè)對(duì)象,不能反過(guò)來(lái)),兩個(gè)是獨(dú)立的對(duì)象,及時(shí)加了級(jí)聯(lián)也是兩個(gè)對(duì)立的對(duì)象,只是一方根據(jù)級(jí)聯(lián)的取值看著另一個(gè)對(duì)象做相應(yīng)的動(dòng)作.
(1)建立兩個(gè)entity,IDCard這個(gè)類中有per對(duì)象
(2)在entity中建立一個(gè)test,調(diào)用工具類的方法自動(dòng)生成xml文件,這里和表還沒有關(guān)系,表是在持久化中和數(shù)據(jù)庫(kù)中的表綁定的,也就是只有在運(yùn)行持久化的時(shí)候才會(huì)出現(xiàn)表.
自動(dòng)生成xml后,這兩個(gè)對(duì)象是沒有關(guān)系的,
(3)找到idCard.hbm.xml中下面的屬性
更改為
加了級(jí)聯(lián)兩個(gè)對(duì)象依舊是獨(dú)立的兩個(gè)對(duì)象,也就是生成表后是兩個(gè)獨(dú)立的表,;但是idCard做增刪改,per也做增刪改
(4)測(cè)試類
二,雙向一對(duì)一主鍵(兩個(gè)對(duì)象互相能找到):在上面的例子單向一對(duì)一的基礎(chǔ)上,直接在per的entity中添加一個(gè)對(duì)象屬性,在xml中添加one to one 屬性.
(1)entity中
人找身份證
身份證找人
(2)配置文件中代碼
idCard中的代碼
per中的代碼
一對(duì)一外鍵(兩個(gè)表綁定到了一起):單向和雙向
直接在配置文件中修改
idCard中的代碼,現(xiàn)在只有一個(gè)表所以lazy沒有效果,如果表比較多一定奧設(shè)置
idCard外鍵產(chǎn)生了一個(gè)外鍵
此處是在配置中column沒有寫所以默認(rèn)是和name的值一樣所以是per,是可以設(shè)置的
測(cè)試增加代碼不能有id
修改的時(shí)候一定要有id