亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

精通Hibernate之映射繼承關系七(圖)

2019-11-18 12:57:14
字體:
來源:轉載
供稿:網友

  Company與Employee類之間為一對多多態關聯關系,假如繼續關系樹的根類對應一個表,或者每個類對應一個表,那么就能映射Company類的employees集合。本節介紹如何映射多對一多態關聯。如圖14-11所示,ClassD與ClassA為多對一多態關聯關系。
  
 精通Hibernate之映射繼續關系七(圖)(圖一)

  
圖14-11 ClassD與ClassA為多對一多態關聯關系

  
  ClassA、ClassB和ClassC構成了一棵繼續關系樹,假如繼續關系樹的根類對應一個表,或者每個類對應一個表,那么可以按以下方式映射ClassD的a屬性:
  
  <many-to-one name="a"
  class="ClassA"
  column="A_ID"
  cascade="save-update" />
  
  假定與ClassD對應的表為TABLE_D,與ClassA對應的表為TABLE_A,在TABLE_D中定義了外鍵A_ID,它參照TABLE_A表的主鍵。
  
  ClassD對象的a屬性既可以引用ClassB對象,也可以引用ClassC對象,例如:
  
  tx = session.beginTransaction();
  ClassD d=(ClassD)session.get("ClassD",id);
  ClassA a=d.getA();
  if(a instanceof ClassB)
  System.out.PRintln(((ClassB)a).getB1());
  if(a instanceof ClassC)
  System.out.println(((ClassC)a).getC1());
  tx.commit();
  
  以下代碼在映射ClassD類的a屬性時使用了延遲檢索策略:
  
  <many-to-one name="a"
  class="ClassA"
  column="A_ID"
  lazy="true"
  cascade="save-update" />
  
  當Hibernate加載ClassD對象時,它的屬性a引用ClassA的代理類實例,在這種情況下,假如對ClassA的代理類實例進行類型轉換,會拋出ClassCastException:
  
  ClassA a=d.getA();
  ClassB b=(ClassB)a; //拋出ClassCastException
  
  解決以上問題的一種辦法是使用Session.load()方法:
  
  ClassA a=d.getA();
  ClassB b=(ClassB)session.load(ClassB.class,a.getId());
  System.out.println(b.getB1());
  
  當執行Session的load()方法時,Hibernate并不會訪問數據庫,而是僅僅返回ClassB的代理類實例。這種解決辦法的前提條件是必須事先知道ClassD對象實際上和ClassA的哪個子類的對象關聯。
  
  解決以上問題的另一種辦法是顯式使用迫切左外連接檢索策略,避免Hibernate創建ClassA的代理類實例,而是直接創建ClassA的子類的實例:
  
  tx = session.beginTransaction();
  ClassD d=(ClassD)session.createCriteria(ClassD.class)
  .add(EXPression.eq("id",id))
  .setFetchMode("a",FetchMode.EAGER)
  .uniqueResult();
  ClassA a=d.getA();
  if(a instanceof ClassB)
  System.out.println(((ClassB)a).getB1());
  if(a instanceof ClassC)
  System.out.println(((ClassC)a).getC1());
  tx.commit();
  
  假如繼續關系樹的具體類對應一個表,為了表達ClassD與ClassA的多態關聯,需要在TABLE_D中定義兩個字段:A_ID和A_TYPE,A_TYPE字段表示子類的類型,A_ID參照在子類對應的表中的主鍵。圖14-12顯示了表TABLE_D、TABLE_B和TABLE_C的結構。
  
精通Hibernate之映射繼續關系七(圖)(圖二)

  
圖14-12 表TABLE_D、TABLE_B和TABLE_C的結構


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91视频-88av| 国产日韩在线观看av| 奇米一区二区三区四区久久| 97在线免费视频| 国产精品自产拍在线观看| 丰满岳妇乱一区二区三区| 国产精品成人av性教育| 97香蕉超级碰碰久久免费的优势| 欧美一级淫片videoshd| 欧美激情xxxx| 5566日本婷婷色中文字幕97| 日韩电视剧免费观看网站| 国产成人亚洲综合91精品| 亚洲电影中文字幕| 午夜精品美女自拍福到在线| 欧美在线视频一区| 美女啪啪无遮挡免费久久网站| 国内精品在线一区| zzijzzij亚洲日本成熟少妇| 亚洲精品之草原avav久久| 欧美激情区在线播放| 色综合天天狠天天透天天伊人| 另类专区欧美制服同性| 亚洲最新在线视频| 欧美成人午夜免费视在线看片| 亚洲色图偷窥自拍| 国产成人精品一区二区| 日韩中文有码在线视频| 最新亚洲国产精品| 97精品国产97久久久久久春色| 精品偷拍一区二区三区在线看| 国产日韩欧美成人| 亚洲精品久久视频| 中文字幕日韩高清| 久久人人爽亚洲精品天堂| 欧美激情乱人伦一区| 久久躁狠狠躁夜夜爽| 日韩av电影国产| 亚洲一区二区精品| 伊人伊成久久人综合网小说| 国产精品久久久久久久午夜| 国产日韩在线播放| 一个色综合导航| 国产精品视频公开费视频| 亚洲国产精品电影在线观看| 国产精品国产亚洲伊人久久| 69久久夜色精品国产7777| 久久91亚洲精品中文字幕奶水| 久久天天躁日日躁| 国产v综合ⅴ日韩v欧美大片| 国产精品一区二区性色av| 国产精品久久不能| 91成人在线观看国产| 91福利视频网| 久久久亚洲精品视频| 福利一区视频在线观看| 亚洲成人免费在线视频| 亚洲第一精品自拍| 黑人欧美xxxx| 欧美精品一区二区三区国产精品| 欧美精品免费在线观看| 国产精品2018| 国产精品中文在线| 亚洲欧美一区二区精品久久久| 日韩一区二区av| 亚洲人成电影在线| 法国裸体一区二区| 国产精品日韩精品| 日本亚洲欧美成人| 国产精品嫩草影院一区二区| 亚洲片国产一区一级在线观看| 中文字幕精品在线| 欧美激情精品久久久久| 2020久久国产精品| 青草青草久热精品视频在线观看| 国产日韩在线播放| 538国产精品视频一区二区| 日韩精品极品视频免费观看| 最近日韩中文字幕中文| 国产精品美女www| 国产精品久久久久av免费| 亚洲一二在线观看| 国产精品露脸av在线| 欧美二区在线播放| 俺也去精品视频在线观看| 日韩成人中文字幕在线观看| 538国产精品一区二区在线| 久久久久亚洲精品成人网小说| 精品偷拍一区二区三区在线看| 国产精品男女猛烈高潮激情| 亚洲第一精品夜夜躁人人爽| 精品国产美女在线| 精品中文字幕视频| 欧美日韩中文字幕在线| 亚洲国产成人在线视频| 欧美成在线观看| 国产suv精品一区二区三区88区| 91免费电影网站| 91在线精品播放| 91国产精品电影| 国产99在线|中文| 色综合视频一区中文字幕| 久久69精品久久久久久久电影好| 亚洲精品av在线| 久久综合亚洲社区| 久久夜色精品国产| 91精品久久久久久久久久| 国产精品久久久久久搜索| 国产精品自产拍在线观| 国产中文欧美精品| 欧美色欧美亚洲高清在线视频| 欧美成aaa人片在线观看蜜臀| 色www亚洲国产张柏芝| 久久夜色精品国产欧美乱| 97成人精品视频在线观看| 亚洲高清在线观看| 国产精品扒开腿爽爽爽视频| 亚洲国产另类 国产精品国产免费| 久久久亚洲国产天美传媒修理工| 欧美性xxxx极品高清hd直播| 国产日韩欧美夫妻视频在线观看| 国产成人精品综合| 日韩美女中文字幕| 久久福利视频网| 精品久久久久久久久久久久久久| 青草热久免费精品视频| 国产91在线播放精品91| 精品国产拍在线观看| 欧美亚洲日本网站| 欧美激情欧美狂野欧美精品| 日韩三级成人av网| 国产欧美日韩专区发布| 国产精品高潮粉嫩av| 91麻豆桃色免费看| 国产精品中文字幕久久久| 国产高清在线不卡| 亚洲电影av在线| 久久久欧美精品| 欧美国产日韩中文字幕在线| 欧美福利视频在线观看| 亚洲精品自产拍| 亚洲一区二区三区777| 亚洲人精选亚洲人成在线| 奇米4444一区二区三区| 亚洲精品美女久久久久| 亚洲成人av在线| 欧美成人免费全部| 日韩av在线播放资源| 亚洲一二在线观看| 国产精品91免费在线| 欧美在线中文字幕| 精品一区二区亚洲| 欧美极品少妇xxxxⅹ免费视频| 亚洲欧美日韩精品久久| 91国内揄拍国内精品对白| 91久久嫩草影院一区二区| 久久久精品久久久| 中国人与牲禽动交精品| 国模私拍一区二区三区| 欧美壮男野外gaytube| 国产在线久久久| 日韩一二三在线视频播| 欧美性xxxxx极品| 色哟哟入口国产精品|