hibernate一對多、多對多級聯儲存與級聯刪除與修改外來鍵
阿新 • • 發佈:2019-01-05
1、一對多複雜寫法級聯儲存
//建立一個公司物件,為公司物件新增員工
GongsiEntity gongsi=new GongsiEntity();gongsi.setGname("百度");
YuangongEntity yuangong=new YuangongEntity();
yuangong.setYname("001");
//建立公司與員工的關係
//1、把員工放進公司的set集合裡面
gongsi.getYuangongSet().add(yuangong);
//2、把公司放到員工裡面
yuangong.setGongsiEntity(gongsi);
//儲存到資料庫
session.save(gongsi);
session.save(yuangong);
2、一對多簡單寫法級聯儲存(常用)
(1)在公司對映檔案中進行配置 在set標籤中新增屬性cascade,屬性值為save-update (2)建立公司和員工物件,只需要把員工放到公司裡面就可以了,最終只需要儲存公司就可以了3、一對多級聯刪除
(1)刪除某個公司物件,把裡面的員工也刪除 (2)具體實現 1、在公司對映檔案set標籤的cascade的屬性值新增delete 2、在程式碼中直接刪除 GongsiEntity gongsi=(GongsiEntity)session.get(GongsiEntity.class,1);session.delete(gongsi);
4、一對多修改外來鍵
(1)需要獲取員工物件和公司物件,重新設定關係
//根據id查詢
YuangongEntity yuangong=(YuangongEntity)session.get(YuangongEntity.class,3);
GongsiEntity guge=(GongsiEntity)session.get(GongsiEntity.class,2);
//把員工放到其他公司
guge.getYuangongSet().add(yuangong);
yuangong.setGongsiEntity(guge);