亚洲毛片视频_国产精品日韩高清_国产伦理一区_国产精品视频免费一区_亚洲精品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区_美女尤物久久精品_亚洲人体大胆视频_亚洲欧美日韩精品久久久_国产一区成人_国产精品综合
欧美一区日韩一区| av电影在线不卡| 亚洲精品视频在线| 亚洲欧美在线视频观看| 久久久久久99久久久精品网站| 91精品欧美综合在线观看最新| 欧美挠脚心视频网站| 欧美日本韩国一区| 91精品午夜视频| 日韩精品一区二区三区视频在线观看| 91精品国产福利在线观看| 51久久夜色精品国产麻豆| 麻豆精品视频在线观看| 久久免费午夜影院| 国产欧美中文在线| 亚洲同性同志一二三专区| 一区二区三区影院| 亚洲成av人影院| 国内国产精品久久| 99久久综合狠狠综合久久| 欧美久久一级| 欧美一级二区| 911精品国产一区二区在线| 精品国产一区二区国模嫣然| 欧美激情一二三区| 亚洲国产精品自拍| 国产一区二区三区免费在线观看| 国产91精品一区二区| 黄色亚洲精品| 一本大道久久精品懂色aⅴ | 欧美福利一区二区| 国产校园另类小说区| 亚洲一区二区三区精品在线| 久热成人在线视频| 女同性一区二区三区人了人一| 亚洲精品欧美| 欧美精品日韩精品| 国产精品久久久久久久久久久免费看 | 黄色一区二区三区四区| 色又黄又爽网站www久久| 日韩精品中文字幕一区| 专区另类欧美日韩| 国产一区91精品张津瑜| 国产精品草草| 欧美乱妇20p| |精品福利一区二区三区| 久久激情五月激情| 国产精品分类| 8x8x8国产精品| 一区二区三区精品在线| 丰满白嫩尤物一区二区| 亚洲深爱激情| 精品国产在天天线2019| 亚洲成人av在线电影| 福利一区二区在线观看| 久久精品国产**网站演员| 欧美福利网址| 欧美精品一级二级| 一区二区三区精品在线| 亚洲欧洲www| 成人小视频在线| 亚洲一区二区精品在线| 久久久五月婷婷| 久久99热99| 亚洲一区二区精品在线| 国产欧美一区二区三区鸳鸯浴 | 麻豆视频观看网址久久| 亚洲一区二区高清| 欧美全黄视频| 欧美成人一区二区三区| 日韩和的一区二区| 黑人一区二区三区四区五区| 日韩一区二区三区观看| 三级精品在线观看| 91久久视频| 国产欧美一区二区三区在线老狼| 国产成人在线免费| 欧美中文字幕久久| 亚洲曰韩产成在线| 天天影视涩香欲综合网| 在线亚洲成人| 亚洲少妇屁股交4| 欧美视频导航| 国产亚洲综合色| 99视频国产精品| 日韩精品专区在线| 国产成人午夜片在线观看高清观看| 在线影视一区二区三区| 丝袜美腿亚洲一区| 久久久久一区二区| 亚洲一本大道在线| 国产亚洲精品久久飘花| 亚洲欧洲色图综合| 亚洲国产精品一区二区第一页 | 精品三级av在线| 国产成人午夜精品5599| 88在线观看91蜜桃国自产| 九九国产精品视频| 欧美日韩国产精选| 国产一区二区在线电影| 91精品国产欧美一区二区| 国产精一品亚洲二区在线视频| 欧美日韩成人综合在线一区二区 | 亚洲大胆在线| 亚洲激情av在线| 亚洲欧美日韩综合一区| 亚洲国产中文字幕| 在线观看欧美日本| 久久国产福利国产秒拍| 91精品国产免费| av欧美精品.com| 国产精品成人网| 国产精品入口| 美国三级日本三级久久99 | 亚洲精品乱码久久久久久久久| 一本色道精品久久一区二区三区| 亚洲一区在线播放| 在线视频中文字幕一区二区| 国内精品不卡在线| 久久久不卡网国产精品二区| 亚洲视频日本| 亚洲国产精品影院| 欧美美女网站色| 97精品电影院| 国产成人午夜99999| 精品卡一卡二卡三卡四在线| 亚洲欧美一区二区原创| 一区二区三区日本| 欧美日韩免费电影| 91在线视频网址| 欧美少妇bbb| jlzzjlzz亚洲女人18| 亚洲乱码国产乱码精品精的特点| 久久国产精品久久精品国产| 国产高清无密码一区二区三区| 亚洲美女黄网| 麻豆91在线看| 日本一区二区免费在线观看视频 | 一区二区日本视频| 黑人巨大精品欧美黑白配亚洲| 久久久久亚洲蜜桃| 欧美一级二区| 99精品欧美一区二区三区综合在线| 成人免费在线视频| 国产69精品久久99不卡| 亚洲黄色尤物视频| 欧美一区二区三区免费视频| 亚洲国产高清一区| 国产一区视频在线看| 欧美性淫爽ww久久久久无| 国产精品久久久久三级| 中文精品视频| 国产日产欧美一区二区三区| 色香蕉久久蜜桃| 午夜亚洲福利| 久久国产尿小便嘘嘘尿| 国产校园另类小说区| 欧美三区免费完整视频在线观看| 91在线看国产| 加勒比av一区二区| 亚洲欧美日韩国产成人精品影院| 555www色欧美视频| 国产精品一页| 国产精品jizz在线观看美国| 韩国av一区二区三区在线观看| 亚洲视频一区在线| xfplay精品久久| 日本福利一区二区| av成人国产| 色综合久久久久久久久久久| 亚洲风情在线资源站| 欧美电影一区二区| 久久国产精品久久久久久电车 | 日韩视频不卡中文| 亚洲制服av| 欧美一区亚洲二区| 老司机午夜精品| 亚洲自拍偷拍九九九| 日本不卡视频一二三区| 国产亚洲制服色| 欧美一区二区免费观在线| 久热精品在线| aa亚洲婷婷| 91久久国产自产拍夜夜嗨| 色综合欧美在线| 中文字幕av不卡| 欧美一级专区免费大片| 久久久久91| 亚洲综合日本| 9国产精品视频| 在线观看成人av电影| 午夜精品123| 在线亚洲精品福利网址导航| 国产欧美一区二区色老头 | 亚洲一区久久| 日韩午夜激情| 一区二区毛片| 亚洲欧美国产精品桃花| 亚洲九九精品| 999在线观看精品免费不卡网站|