麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

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

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

  在域模型中,類與類之間除了關聯關系和聚集關系,還可以存在繼續關系,在圖14-1所示的域模型中,Company類和Employee類之間為一對多的雙向關聯關系(假定不答應雇員同時在多個公司兼職),Employee類為抽象類,因此它不能被實例化,它有兩個具體的子類:HourlyEmployee類和SalariedEmployee類。由于java只答應一個類最多有一個直接的父類,因此Employee類、HourlyEmployee類和SalariedEmployee類構成了一棵繼續關系樹。
  
精通Hibernate之映射繼續關系一(圖)

  
圖14-1 包含繼續關系的域模型
  

  在面向對象的范疇中,還存在多態的概念,多態建立在繼續關系的基礎上。簡單地理解,多態是指當一個Java應用變量被聲明為Employee類時,這個變量實際上既可以引用HourlyEmployee類的實例,也可以引用SalariedEmployee類的實例。以下這段程序代碼就體現了多態:
  
  List employees= businessService.findAllEmployees();
  Iterator it=employees.iterator();
  while(it.hasNext()){
  Employee e=(Employee)it.next();
  if(e instanceof HourlyEmployee){
  System.out.  }else
  System.out.println(e.getName()+" "+((SalariedEmployee)e).getSalary());
  }
  
  BusinessService類的findAllEmployees()方法通過Hibernate API從
數據庫中檢索出所有Employee對象。findAllEmployees()方法返回的集合既包含HourlyEmployee類的實例,也包含SalariedEmployee類的實例,這種查詢被稱為多態查詢。以上程序中變量e被聲明為Employee類型,它實際上既可能引用HourlyEmployee類的實例,也可能引用SalariedEmployee類的實例。
  
  此外,從Company類到Employee類為多態關聯,因為Company類的employees集合中可以包含HourlyEmployee類和SalariedEmployee類的實例。從Employee類到Company類不是多態關聯,因為Employee類的company屬性只會引用Company類本身的實例。數據庫表之間并不存在繼續關系,那么如何把域模型的繼續關系映射到關系數據模型中呢?本章將介紹以下三種映射方式:
  
  繼續關系樹的每個具體類對應一個表:關系數據模型完全不支持域模型中的繼續關系和多態。
  
  繼續關系樹的根類對應一個表:對關系數據模型進行非常規設計,在數據庫表中加入額外的區分子類型的字段。通過這種方式,可以使關系數據模型支持繼續關系和多態。
  
  繼續關系樹的每個類對應一個表:在關系數據模型中用外鍵參照關系來表示繼續關系。
  
  提示:具體類是指非抽象的類,具體類可以被實例化。HourlyEmployee類和SalariedEmployee類就是具體類。
  
  以上每種映射方式都有利有弊,本章除了介紹每種映射方式的具體步驟,還介紹了它們的適用范圍。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 毛片免费大全短视频 | 日本在线观看中文字幕 | 鲁人人人鲁人人鲁精品 | 色播视频在线播放 | 国产一区二区成人在线 | 欧美久久一区 | 蜜桃视频在线免费播放 | 操操电影 | 中文字幕激情视频 | 色网站免费观看 | 中文字幕伦乱 | 欧美激情性色生活片在线观看 | 色综合一区二区 | 九九热久久免费视频 | 曰批全过程40分钟免费视频多人 | 91久久国产露脸精品免费 | 亚洲第一视频 | 亚洲第一成人av | 中国大陆高清aⅴ毛片 | 黄色网址在线视频 | 免费的性生活视频 | 久久久久久久.comav | 国产亚洲欧美视频 | 国产91一区| a一级黄色大片 | 久久成人视屏 | 一级国产免费 | 精品人人人人 | 欧美一区二区三区不卡免费观看 | 中文字幕免费播放 | 91在线精品亚洲一区二区 | chinese xxxxhd videos麻豆 | 黄色免费小网站 | 亚洲精品无码不卡在线播放he | 娇喘视频在线观看 | 青热久思思| 免费黄色小视频网站 | 999精品国产 | 国产精品99久久久久久大便 | 国产在线观看av | 国产成人综合在线观看 |