久久天堂一区二区三区_国内精品久久久久影院网站_亚洲国产一区二区三区最新_亚洲国产一区二区三区四区五区

北京北大青鳥通州校區(qū)提供:Hibernate各種映射關(guān)系總結(jié)

北京北大青鳥通州校區(qū)學(xué)術(shù)部提供:

1 多對(duì)一
  第一步 :建立對(duì)象模型
  User                                            
  -----------------------------
  id:int
  name:String
  group:Group
  Group
  ------------------------------
  id:int
  name:String 
  第二步:映射文件
    XML代碼
<?xml version="1.0"?> 
<!DOCTYPE Hibernate-mapping PUBLIC 
 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping package="com.nintenyun.hibernate"> 
  <class name="User" table="t_user"> 
   <id name="id" column="id"> 
    <generator class="identity"/> 
   </id> 
   <property name="name" column="User_name" unique="true"/> 
   <many-to-one name="group" column="groupid"/> 
  </class> 
</hibernate-mapping>
  2 一對(duì)一映射
  2.1 主鍵映射
  1. 建立對(duì)象模型
    Person[id-int,name-String]
IdCard[id-int,cardNo-int]
  2. 映射文件
  Xml代碼
<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC 
 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping package="com.nintenyun.hibernate"> 
  <class name="Person" table="t_person"> 
   <id name="id"> 
    <generator class="foreign"> 
    <param name="property">idCard</param> 
    </generator> 
   </id> 
   <property name="name" column="Person_name" /> 
   <one-to-one name="idCard" constrained="true"/> 
  </class> 
</hibernate-mapping>
 2.2 主鍵映射雙向
  只需要在IdCard 的XML中添加<one-to-one>標(biāo)簽指向person,就可以告訴Hibernate如何加載person,默認(rèn)按照主鍵加載
  2.3 外鍵關(guān)聯(lián)映射
  1. 對(duì)象模型
    Person[id-int,name-String,idcard-IdCard]
IdCard[id-int,cardNo-int]
  2 mapping文件
  Xml代碼
    Person.xml 
<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC 
 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping package="com.nintenyun.hibernate"> 
  <class name="Person" table="t_person"> 
   <id name="id"> 
    <generator class="identity"> 
    </generator> 
   </id> 
   <property name="name" column="Person_name" /> 
   <many-to-one name="idCard" unique="true"></many-to-one> 
  </class> 
</hibernate-mapping>
  2.4 one-to-one 外鍵雙向mapping
  只需要在另一端(IdCard)加入<one-to-one>標(biāo)簽,但是hibernate默認(rèn)按照主鍵加載,所以要告訴hibernate按照指定列來(lái)加載
  示意:
  Xml代碼
    Id-card 
<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC 
 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping package="com.nintenyun.hibernate"> 
  <class name="IdCard" table="t_idcard"> 
   <id name="id" column="id"> 
    <generator class="identity"/> 
   </id> 
   <property name="cardNo" column="cardno" /> 
   <one-to-one name="person" property-ref 
 
="idCard"></one-to-one> 
  </class> 
</hibernate-mapping>
3 一對(duì)多映射
  1  建立對(duì)象模型
    Classes[id-int,name-String,student-Set]
Student[id-int,name-String]
  2  映射文件
  XML代碼
<?xml version="1.0"?> 
<!DOCTYPE Hibernate-mapping PUBLIC 
 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping package="com.nintenyun.hibernate"> 
  <class name="Class" table="t_class"> 
   <id name="id"> 
    <generator class="native"/> 
   </id> 
   <property name="name" /> 
   <set name="student" > 
   <key column="classid" /> 
   <one-to-many class="Student"/> 
   </set> 
  </class> 
</hibernate-mapping>
  缺點(diǎn):若將Student的classid設(shè)置為非空,將無(wú)法保存。應(yīng)為不是student這一端維護(hù)關(guān)系,所以student不知道是哪個(gè)班級(jí),所以需要發(fā)出多余的update語(yǔ)句來(lái)更新關(guān)系。
4 多對(duì)多mapping
  單向(采用第三方表)
  1  對(duì)象模型
    Role[id-int,name-String]
User[id-int,name-String,role-Set]
  2映射文件
  XML代碼
<?xml version="1.0"?> 
<!DOCTYPE Hibernate-mapping PUBLIC 
 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping package="com.nintenyun.hibernate"> 
  <class name="User" table="t_user"> 
   <id name="id"> 
    <generator class="native"/> 
   </id> 
   <property name="name" /> 
   <set name="role" table="t_user_role"> 
   <key column="userid"></key> 
   <many-to-many class="Role" column="roleid" /> 
   </set> 
  </class> 
</hibernate-mapping>
  雙向:
  1 對(duì)象模型:
    Role[id-int,name-String,user-Set]
User[id-int,name-String,role-Set]
  2 mapping文件:
  Xml代碼
<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC 
 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping package="com.nintenyun.hibernate"> 
  <class name="Role" table="t_role"> 
   <id name="id"> 
    <generator class="native"/> 
   </id> 
   <property name="name" /> 
   <set name="user" table="t_user_role"> 
   <key column="userid"></key> 
   <many-to-many class="User" column="userid" /> 
   </set> 
  </class> 
</hibernate-mapping> 
5 繼承mapping
  第一類繼承映射
  1 對(duì)象模型
    Animal 
private int id
private String name
private Boolean sex
--------------------------------------------------
public class Bird extends Animal 
private int height
--------------------------------------------------
public class Pig extends Animal
private int weight
  2 mapping 文件
  XML代碼
<?xml version="1.0"?> 
<!DOCTYPE Hibernate-mapping PUBLIC 
 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping package="com.nintenyun.hibernate"> 
  <class name="Animal" table="t_animal" > 
   <id name="id" > 
    <generator class="native"/> 
   </id> 
   <discriminator column="type" type="string"></discriminator> 
   <property name="name"/> 
   <property name="sex"/> 
   <subclass name="Pig" discriminator-value="P"> 
    <property name="weight"/> 
   </subclass> 
   <subclass name="Bird" discriminator-value="B"> 
    <property name="height"/> 
   </subclass> 
  </class> 
  
 
  
</hibernate-mapping>
第二類mapping
  1 對(duì)象模型
  2 mapping 文件
  XML代碼
<?xml version="1.0"?> 
<!DOCTYPE Hibernate-mapping PUBLIC 
 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping package="com.nintenyun.hibernate"> 
  <class name="Animal" table="t_animal" > 
   <id name="id" > 
    <generator class="native"/> 
   </id> 
   <property name="name"/> 
   <property name="sex"/> 
    <joined-subclass name="Pig" table="t_pig"> 
     <key column="pid"/> 
     <property name="weight"/> 
    </joined-subclass> 
    <joined-subclass name="Bird" table="t_bird"> 
     <key column="bid"/> 
     <property name="height"/> 
    </joined-subclass> 
</class> 
</hibernate-mapping>
  3 第三類mapping
  1對(duì)象模型
  2 mapping 文件
  Xml代碼
<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC 
 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping package="com.nintenyun.hibernate"> 
  <class name="Animal" table="t_animal" > 
   <id name="id" > 
    <generator class="native"/> 
   </id> 
   <property name="name"/> 
   <property name="sex"/> 
   <union-subclass name="Pig" table="t_pig"> 
   <property name="weight"/> 
   </union-subclass> 
   <union-subclass name="Bird" table="t_bird"> 
   <property name="height"/> 
   </union-subclass> 
</class> 
</hibernate-mapping>
6 Component 映射
  component不是實(shí)體,沒有OID。
  1 對(duì)象模型
    public class Employee 
private int id
private String name
private Contact contact
-------------------------------------
public class Contact  
private String email
private String address
private String zipcode
private String contactTel
-------------------------------------
public class User  
private int id
private String name
private Contact contact
  2 mapping文件
  XML代碼
<?xml version="1.0"?> 
<!DOCTYPE Hibernate-mapping PUBLIC 
 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping package="com.nintenyun.hibernate"> 
  <class name="User" table="t_user" > 
   <id name="id" > 
    <generator class="native"/> 
   </id> 
   <property name="name"/> 
   <component name="contact"> 
   <property name="email"></property> 
   <property name="address"></property> 
   <property name="zipcode"></property> 
   <property name="contactTel"></property> 
   </component> 
  </class> 
 </hibernate-mapping>
  7 復(fù)合主鍵mapping
  通常將復(fù)合主鍵相關(guān)屬性,單獨(dú)放到一個(gè)類中
  這個(gè)類必須實(shí)現(xiàn) Serializable接口
  這個(gè)類必須重寫hashCode和equals方法
  XML
<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC 
 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping package="com.nintenyun.hibernate"> 
  <class name="SC" table="t_sc" > 
   <composite-id name="scpk"> 
   <key-property name="sno"/> 
   <key-property name="cno"/> 
   </composite-id>  
   <property name="sname"></property> 
   <property name="cname"></property> 
  </class> 
</hibernate-mapping>

 

北大青鳥網(wǎng)上報(bào)名
北大青鳥招生簡(jiǎn)章
久久天堂一区二区三区_国内精品久久久久影院网站_亚洲国产一区二区三区最新_亚洲国产一区二区三区四区五区

      9000px;">

          欧美国产日本视频| 日韩欧美资源站| 日本久久一区二区| 中文字幕一区三区| 欧美午夜一区二区三区免费大片| 亚洲国产成人精品视频| 精品视频在线免费| 久久99国产乱子伦精品免费| 国产性色一区二区| 91热门视频在线观看| 视频一区视频二区中文| 国产色产综合色产在线视频| 色天天综合久久久久综合片| 亚洲成a人片综合在线| 精品人在线二区三区| 懂色av一区二区夜夜嗨| 午夜精品123| 国产精品嫩草影院av蜜臀| 91精品欧美福利在线观看| 成人免费黄色大片| 久久国产尿小便嘘嘘尿| 亚洲人成网站影音先锋播放| 精品国产三级电影在线观看| 在线观看免费亚洲| 成人高清视频在线观看| 九九九精品视频| 五月天久久比比资源色| 国产精品国产自产拍高清av| 日韩欧美亚洲一区二区| 欧美日韩亚洲不卡| 91影院在线免费观看| 国产电影一区在线| 捆绑紧缚一区二区三区视频| 亚洲三级在线播放| 久久精品视频一区| 91精品在线一区二区| 91精彩视频在线观看| 波多野结衣在线一区| 国内成人免费视频| 免费成人美女在线观看.| 亚洲国产精品嫩草影院| 亚洲欧美国产高清| √…a在线天堂一区| 亚洲国产高清在线| 久久在线观看免费| 久久精品亚洲精品国产欧美| 欧美成人a视频| 日韩三级在线免费观看| 欧亚洲嫩模精品一区三区| 亚洲高清免费观看 | 色婷婷综合中文久久一本| 欧美videossexotv100| 成人午夜激情影院| 欧美一区二区免费| 精品国产91亚洲一区二区三区婷婷| 久久国产生活片100| 亚洲大尺度视频在线观看| 日韩欧美中文一区| 偷拍亚洲欧洲综合| 亚洲一区二区三区不卡国产欧美| 91精品久久久久久久久99蜜臂| 日韩av不卡在线观看| 欧美无人高清视频在线观看| 26uuu色噜噜精品一区二区| 欧美一区日韩一区| 国产精品一区二区无线| 欧美国产禁国产网站cc| 91极品视觉盛宴| 激情综合网天天干| 中文字幕精品一区| 国产亚洲视频系列| 欧美电视剧免费全集观看| 欧美色电影在线| 中文字幕精品一区| 图片区日韩欧美亚洲| 色综合天天综合网国产成人综合天 | 宅男在线国产精品| 奇米色777欧美一区二区| 精品1区2区3区| 色婷婷一区二区三区四区| 色婷婷av一区| 91 com成人网| 欧美大片日本大片免费观看| 欧美最猛黑人xxxxx猛交| 国产精品99久久久久久有的能看| 亚洲男同1069视频| 欧美成人欧美edvon| 日韩欧美成人激情| 欧美日韩高清一区二区三区| 91蜜桃传媒精品久久久一区二区 | 国内成+人亚洲+欧美+综合在线| 亚洲一卡二卡三卡四卡| 久久精品国产一区二区| 国产99精品国产| 欧美一区二区三区影视| 国产亚洲视频系列| 亚洲一区在线观看免费| 欧美午夜一区二区三区免费大片| 日韩一区二区三区三四区视频在线观看| 欧美精品一区二区三区蜜桃 | 日本亚洲三级在线| 蜜桃av一区二区在线观看| 99在线精品一区二区三区| 日韩精品中文字幕一区| 亚洲精品国产第一综合99久久| 伦理电影国产精品| 欧美理论在线播放| 亚洲靠逼com| 国产成人av电影在线| 在线播放中文一区| 亚洲观看高清完整版在线观看 | 日本一区二区免费在线观看视频| 亚洲成国产人片在线观看| 色诱视频网站一区| 亚洲欧洲日产国产综合网| 国产真实乱偷精品视频免| 欧美一区在线视频| 午夜精品久久久久久久99水蜜桃 | 91麻豆精品国产无毒不卡在线观看| 中文字幕一区二区三区av| 国产九色sp调教91| 久久午夜老司机| 精品伊人久久久久7777人| 欧美一区二区视频网站| 日韩激情av在线| 欧美一区二区三区在线观看| 日韩和欧美的一区| 91精品久久久久久久99蜜桃 | 婷婷中文字幕综合| 欧美挠脚心视频网站| 亚洲国产精品欧美一二99| 欧美电影一区二区三区| 美女尤物国产一区| 欧美精品一区二区三区蜜桃视频| 国产一区二区三区av电影| 久久久精品影视| 国产凹凸在线观看一区二区| 国产精品久久久久久久第一福利 | 777午夜精品视频在线播放| 亚洲国产精品自拍| 欧美精品一二三四| 精品一区二区三区香蕉蜜桃| 久久嫩草精品久久久精品| www.日韩av| 午夜久久久久久久久久一区二区| 欧美日韩小视频| 国内成人精品2018免费看| 中文字幕亚洲精品在线观看| 99久久er热在这里只有精品66| 亚洲欧美另类小说| 欧美精三区欧美精三区| 国产精品一区久久久久| 一区二区三区四区亚洲| 91精品国产乱| www.av精品| 亚洲欧美成人一区二区三区| 午夜精品福利在线| jizzjizzjizz欧美| 国产日韩欧美a| 亚洲欧洲精品天堂一级| ●精品国产综合乱码久久久久| jlzzjlzz亚洲日本少妇| 国产精品18久久久久久vr| 在线观看免费视频综合| 激情国产一区二区| 国产黑丝在线一区二区三区| 91.com视频| 国产精品少妇自拍| 欧洲一区二区av| 久久精品国产精品亚洲精品 | 欧美一级在线观看| 成人亚洲精品久久久久软件| 日韩精品一二区| 亚洲天堂a在线| 久久久不卡网国产精品二区| 欧美特级限制片免费在线观看| 国产成人av电影在线播放| 免费看欧美美女黄的网站| 亚洲视频狠狠干| 久久综合九色综合97婷婷| 欧美日韩二区三区| 日本一二三不卡| 亚洲成人在线观看视频| 欧美经典一区二区三区| 久久精品免费在线观看| 日本系列欧美系列| 欧美一区二区久久久| 免费的成人av| 欧美性猛片xxxx免费看久爱| 亚洲电影第三页| 久久久美女艺术照精彩视频福利播放| 久久精品国产亚洲aⅴ| 日韩欧美久久久| 成人不卡免费av| 日韩午夜av一区| 国产精品一二三四| 免费国产亚洲视频| 日产国产高清一区二区三区 | 亚洲一区二区中文在线| 一区二区视频在线看|