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

北京北大青鳥通州校區(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)章
久久天堂一区二区三区_国内精品久久久久影院网站_亚洲国产一区二区三区最新_亚洲国产一区二区三区四区五区

      亚洲欧美日韩成人| 国精品一区二区三区| 久久精品一本| 一区二区三区免费网站| 国产主播一区二区| 国产精品啊啊啊| 欧美激情一区二区三区成人 | 国产精品乱人伦中文| 美女视频一区免费观看| 午夜久久福利| 亚洲午夜激情网站| 亚洲美女中文字幕| 91久久在线播放| 经典三级久久| 韩国精品久久久999| 国产精品免费观看视频| 欧美日韩国产精品一区| 欧美3dxxxxhd| 欧美二区视频| 米奇777在线欧美播放| 久久频这里精品99香蕉| 欧美一区二区三区四区在线观看地址| 亚洲天堂av电影| 亚洲精品一区二区三区婷婷月| 好吊色欧美一区二区三区四区 | 亚洲特级片在线| 一区二区精品| 99视频国产精品免费观看| 亚洲日韩欧美一区二区在线| 亚洲国产精品电影| 亚洲茄子视频| 日韩午夜精品| 亚洲一二三区精品| 亚洲欧美在线一区| 性欧美xxxx视频在线观看| 欧美在线二区| 久色婷婷小香蕉久久| 欧美成人黑人xx视频免费观看 | 在线观看中文字幕不卡| 尤物精品在线| 亚洲黄色av| 9久草视频在线视频精品| 9人人澡人人爽人人精品| 夜夜嗨av一区二区三区免费区| 99亚洲伊人久久精品影院红桃| 亚洲视频久久| 久久riav二区三区| 另类天堂视频在线观看| 欧美日韩不卡视频| 国产精品日日摸夜夜添夜夜av| 国产精品亚发布| 一区二区在线视频播放| 99re视频这里只有精品| 亚洲在线一区二区| 久久久久久精| 欧美日韩久久不卡| 国产日韩在线亚洲字幕中文| 伊人久久综合| 亚洲午夜精品久久久久久app| 欧美一级理论片| 欧美精品免费观看二区| 国产日韩精品视频一区二区三区| 亚洲第一福利社区| 午夜精品久久久久久久男人的天堂| 美女诱惑一区| 国产欧美日韩在线视频| 亚洲第一页自拍| 99精品视频免费观看| 久久久99爱| 国产精品久久久久高潮| 亚洲人午夜精品免费| 先锋影音一区二区三区| 欧美美女喷水视频| 在线观看中文字幕不卡| 香蕉亚洲视频| 国产精品剧情在线亚洲| 一本大道久久a久久精二百| 久久久一本精品99久久精品66| 欧美日韩在线视频一区| 亚洲国产女人aaa毛片在线| 久久国产精品一区二区| 国产精品天美传媒入口| 亚洲私人影院| 国产精品白丝黑袜喷水久久久| 亚洲三级免费观看| 蜜桃av噜噜一区| 一区在线播放| 久久久久一区二区三区四区| 国产精品欧美久久久久无广告| 99天天综合性| 欧美日韩一区二区视频在线观看 | 久久香蕉国产线看观看网| 国产午夜精品全部视频播放| 亚洲欧美第一页| 国产精品久久久久久久久久直播| 一本色道久久综合亚洲精品不| 欧美国产免费| 91久久精品久久国产性色也91| 久热国产精品| 亚洲欧洲精品一区| 欧美国产亚洲另类动漫| 亚洲精品一二| 国产精品sm| 亚洲免费一在线| 国产精品亚洲视频| 久久精品一区二区| 又紧又大又爽精品一区二区| 免费观看欧美在线视频的网站| 亚洲风情亚aⅴ在线发布| 欧美成人性生活| 一区二区电影免费在线观看| 欧美性jizz18性欧美| 亚洲主播在线播放| 国产亚洲欧美色| 牛牛影视久久网| 亚洲一区二区三区免费视频| 国产精品久久国产精麻豆99网站| 亚洲综合色噜噜狠狠| 韩国欧美一区| 欧美极品在线播放| 亚洲欧美激情一区二区| 国内精品视频久久| 欧美另类亚洲| 久久精品国产99精品国产亚洲性色 | 国产日韩av一区二区| 欧美激情精品久久久久久久变态| 亚洲午夜日本在线观看| 激情欧美丁香| 欧美日韩一区二区三| 久久激情婷婷| 一区二区三区四区精品| 伊人春色精品| 国产精品日日摸夜夜摸av| 蜜臀a∨国产成人精品| 亚洲欧美日韩久久精品| 亚洲福利视频专区| 国产日韩欧美一区二区三区在线观看| 美日韩精品免费| 欧美一区二区三区在线免费观看| 亚洲欧洲日本一区二区三区| 国产九色精品成人porny| 欧美激情精品久久久久久变态 | 亚洲免费中文| 亚洲精品永久免费精品| 国产主播喷水一区二区| 国产精品久久久久9999| 欧美激情在线播放| 久久综合综合久久综合| 欧美在线视频免费观看| 亚洲网站在线观看| 99天天综合性| 亚洲精品乱码视频| 亚洲激情视频| 亚洲国产欧美日韩| 一区二区三区在线观看欧美| 国产精品户外野外| 欧美日韩播放| 欧美精品首页| 欧美激情亚洲另类| 欧美电影免费观看高清| 美日韩精品免费| 久久综合精品国产一区二区三区| 亚洲欧美自拍偷拍| 在线视频欧美精品| 亚洲网站视频| 亚洲一级黄色片| 亚洲一区免费观看| 亚洲女与黑人做爰| 午夜精品久久久久影视 | 亚洲欧美日韩视频二区| 亚洲线精品一区二区三区八戒| 9色精品在线| 亚洲午夜av| 午夜精品久久久久影视| 久久精品女人| 模特精品在线| 欧美乱人伦中文字幕在线| 欧美日本一区二区视频在线观看| 欧美—级在线免费片| 欧美日韩一区二区在线播放| 欧美视频一区| 国产欧美精品xxxx另类| 国内欧美视频一区二区| 亚洲国产日韩在线一区模特| 91久久精品美女| 亚洲视频在线看| 欧美一区91| 玖玖精品视频| 欧美日韩精品综合| 国产精品国产a| 国内一区二区三区| 亚洲欧洲一区二区在线播放| 中日韩视频在线观看| 欧美在线亚洲综合一区| 免费日韩av| 国产精品成人午夜| 1024精品一区二区三区| 亚洲一级在线观看| 免费观看久久久4p| 国产精品日韩在线观看|