亚洲毛片视频_国产精品日韩高清_国产伦理一区_国产精品视频免费一区_亚洲精品1区2区_美女尤物久久精品_亚洲人体大胆视频_亚洲欧美日韩精品久久久_国产一区成人_国产精品综合

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

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

1 多對一
  第一步 :建立對象模型
  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 一對一映射
  2.1 主鍵映射
  1. 建立對象模型
    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. 對象模型
    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按照指定列來加載
  示意:
  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 一對多映射
  1  建立對象模型
    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è)置為非空,將無法保存。應(yīng)為不是student這一端維護(hù)關(guān)系,所以student不知道是哪個(gè)班級,所以需要發(fā)出多余的update語句來更新關(guān)系。
4 多對多mapping
  單向(采用第三方表)
  1  對象模型
    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 對象模型:
    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 對象模型
    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 對象模型
  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對象模型
  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 對象模型
    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)名
北大青鳥招生簡章
亚洲毛片视频_国产精品日韩高清_国产伦理一区_国产精品视频免费一区_亚洲精品1区2区_美女尤物久久精品_亚洲人体大胆视频_亚洲欧美日韩精品久久久_国产一区成人_国产精品综合
欧美日韩一区二| 91成人免费网站| 成人av综合在线| 成人免费精品视频| 国产精品亚洲专一区二区三区 | 天天色天天操综合| 亚洲国产成人av好男人在线观看| 综合久久给合久久狠狠狠97色 | 亚洲高清免费视频| 一区二区三区在线免费视频| 亚洲三级电影全部在线观看高清| 国产精品二三区| 一区二区三区在线免费播放| 亚洲一区二区三区精品在线| 亚洲18影院在线观看| 男女男精品网站| 国产一区日韩二区欧美三区| 成人免费视频免费观看| 欧美精品二区| 中文日韩欧美| 在线影视一区二区三区| 91精品国产一区二区三区香蕉| 日韩午夜激情av| 国产精品欧美久久久久无广告| 亚洲日本护士毛茸茸| 日本女人一区二区三区| 久久99国产精品久久99| 成人永久aaa| 欧美日韩精品免费观看| 噜噜噜91成人网| 欧美日本在线观看| 国产日韩欧美激情| 一区二区三区精品在线观看| 日本vs亚洲vs韩国一区三区二区| 国产一区二区美女诱惑| 欧美精品七区| 久久综合中文| 欧美精品一区二| 亚洲大型综合色站| 国产高清精品在线| 亚洲第一在线| 7777精品久久久大香线蕉 | 国模无码大尺度一区二区三区| 91视频.com| 色婷婷精品久久二区二区蜜臀av| 日韩三级视频在线看| 国产精品九色蝌蚪自拍| 毛片不卡一区二区| 欧美 日韩 国产一区二区在线视频| 一本综合久久| 日韩欧美一级精品久久| 夜夜嗨av一区二区三区网页| 国产成人午夜高潮毛片| 亚洲电影专区| 日韩免费视频一区| 亚洲午夜av在线| 91在线丨porny丨国产| 久久精品官网| 中文子幕无线码一区tr| 国产一区二区调教| 亚洲一区一卡| 中文字幕欧美日韩一区| 精品一二三四区| 一区二区日本视频| 久久久久国产精品人| 精品一区二区三区在线播放视频| 永久91嫩草亚洲精品人人| 678五月天丁香亚洲综合网| 亚洲精品伦理在线| 不卡电影免费在线播放一区| 久久久久久亚洲精品杨幂换脸| 欧美国产丝袜视频| 懂色av一区二区三区免费观看| 久久av一区| 中文字幕一区二区三区色视频 | 一区二区三区高清视频在线观看| 精品日产卡一卡二卡麻豆| 蜜臀99久久精品久久久久久软件| 99成人在线| 国产精品久久久一本精品 | 毛片一区二区| 一区二区三区在线视频播放| 国产精品成人一区二区网站软件| 日韩精品专区在线影院观看 | 亚欧成人精品| 亚洲激情校园春色| 国产中文一区二区| 国产亚洲制服色| 91在线无精精品入口| 欧美一级xxx| 国产成人av电影在线播放| 欧美日韩综合不卡| 日本不卡视频在线| 老司机午夜免费精品视频| 一区二区欧美国产| 国产欧美日韩亚洲| 亚洲精品中文在线观看| 亚洲二区三区四区| 亚洲蜜桃精久久久久久久| 亚洲国产高清一区二区三区| 国产精品视频九色porn| 国产精品xnxxcom| 亚洲国产精品精华液ab| 国产尤物精品| 最新欧美精品一区二区三区| 韩国av一区| 一区二区久久久久| 亚洲一区中文| 日韩福利电影在线| 欧美日韩性生活| 国产精品亚洲专一区二区三区| 欧美一级片免费看| av电影在线不卡| 国产精品久久久久影院老司| 亚洲小说欧美另类婷婷| 亚洲婷婷综合久久一本伊一区| 亚洲经典在线| 亚洲一区二区视频| 在线观看日韩高清av| 国产专区欧美精品| 日韩视频不卡中文| 国产精品mv在线观看| 中文字幕日本不卡| 麻豆91精品| 国产福利电影一区二区三区| 精品国精品国产| 国产精品啊啊啊| 亚洲中国最大av网站| 在线观看日韩高清av| 福利一区福利二区| 国产日韩欧美精品一区| 亚洲在线观看| 国产99精品国产| 国产精品久久久久9999吃药| 亚洲一区二区四区| 国产麻豆日韩欧美久久| 国产精品欧美经典| 色呦呦日韩精品| 成人网页在线观看| 亚洲欧美国产毛片在线| 欧美日韩三级视频| 欧美91福利在线观看| 日韩国产欧美在线播放| 精品国产1区二区| 久久精品女人天堂| 99国产精品一区| 亚洲chinese男男1069| 欧美一区二区三区在线观看 | 午夜亚洲视频| 91亚洲精华国产精华精华液| 亚瑟在线精品视频| 337p日本欧洲亚洲大胆精品| 午夜亚洲性色视频| 色综合欧美在线视频区| 日韩精品乱码免费| 久久精品亚洲精品国产欧美kt∨| 久久国产精品久久精品国产| 本田岬高潮一区二区三区| 亚洲成a人v欧美综合天堂| 精品国产一区二区三区不卡| 久久国产一区二区| 国产一区在线免费观看| 国产在线国偷精品产拍免费yy| 一区二区三区免费观看| 久久嫩草精品久久久精品| 色菇凉天天综合网| 一区视频在线看| 成人自拍视频在线| 奇米色一区二区| 亚洲麻豆国产自偷在线| 精品久久一二三区| 欧美日韩一区二区三区在线看| 亚洲国产精品第一区二区三区| 国产成人久久精品77777最新版本| 亚洲五月六月丁香激情| 久久久91精品国产一区二区精品| 欧美日韩国产系列| 麻豆久久婷婷| 日韩视频一区| 欧美日韩一区二区视频在线| 国产成人免费视频| 韩国三级在线一区| 青草av.久久免费一区| 亚洲一区在线视频观看| 国产精品久久久久久久久免费樱桃| 日韩三级视频中文字幕| 欧美剧在线免费观看网站| 色综合久久66| 午夜亚洲一区| 亚洲一区二区动漫| 日韩亚洲国产欧美| 亚洲午夜精品国产| 国内精品一区二区| 91在线看国产| av电影在线观看完整版一区二区| 国产成人亚洲综合a∨猫咪| 激情欧美一区二区| 国内欧美视频一区二区| 久久黄色级2电影| 韩国视频一区二区|