中文字幕欧美日韩一区二区三区_高清久久一区_阳光姐妹淘韩国版_日韩精品免费视频一区二区三区_91在线成人_一级黄色免费_精品欧美黑人一区二区三区

北京北大青鳥通州校區提供:Hibernate各種映射關系總結

北京北大青鳥通州校區學術部提供:

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>標簽指向person,就可以告訴Hibernate如何加載person,默認按照主鍵加載
  2.3 外鍵關聯映射
  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>標簽,但是hibernate默認按照主鍵加載,所以要告訴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>
  缺點:若將Student的classid設置為非空,將無法保存。應為不是student這一端維護關系,所以student不知道是哪個班級,所以需要發出多余的update語句來更新關系。
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不是實體,沒有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 復合主鍵mapping
  通常將復合主鍵相關屬性,單獨放到一個類中
  這個類必須實現 Serializable接口
  這個類必須重寫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>

 

北大青鳥網上報名
北大青鳥招生簡章
中文字幕欧美日韩一区二区三区_高清久久一区_阳光姐妹淘韩国版_日韩精品免费视频一区二区三区_91在线成人_一级黄色免费_精品欧美黑人一区二区三区
欧美性猛片xxxx免费看久爱| 国产69精品一区二区亚洲孕妇| 亚洲女与黑人做爰| 懂色av一区二区三区免费观看 | 最新热久久免费视频| 国产激情精品久久久第一区二区| 久久久久九九视频| 风间由美一区二区三区在线观看| 国产亚洲精品资源在线26u| 国产成人av电影免费在线观看| 中文字幕 久热精品 视频在线| 国产福利91精品| 国产精品久久久久9999吃药| 91免费在线视频观看| 一区二区三区精品视频在线| 欧美巨大另类极品videosbest | 亚洲一区二区欧美激情| 欧美日韩国产色站一区二区三区| 三级欧美在线一区| 欧美zozo另类异族| 91性感美女视频| 日韩和欧美的一区| 在线播放视频一区| 日韩av不卡一区二区| 精品乱人伦小说| 成人成人成人在线视频| 亚洲一区二区欧美日韩| 久久久久国产一区二区三区四区| 91色porny| 激情欧美一区二区| 日韩理论片一区二区| 7777精品久久久大香线蕉| 国产一区不卡精品| 亚洲成人综合视频| 久久免费偷拍视频| 91成人在线免费观看| 久久精品国产99| 最新久久zyz资源站| 欧美一级理论片| 色诱视频网站一区| 国产精品一区二区三区四区| 性感美女久久精品| 中文字幕一区二区三区蜜月| 精品日本一线二线三线不卡| 欧美综合一区二区三区| 成人一二三区视频| 国模无码大尺度一区二区三区| 亚洲国产精品一区二区久久恐怖片| 国产网红主播福利一区二区| 在线不卡免费欧美| 91黄视频在线| 97se狠狠狠综合亚洲狠狠| 激情av综合网| 麻豆精品精品国产自在97香蕉| 亚洲激情图片qvod| 中文字幕综合网| 国产精品久久影院| 中文字幕av一区二区三区| 国产午夜精品一区二区三区嫩草 | 91久久一区二区| 成人午夜电影小说| 国产精品1024| 国产精品99精品久久免费| 激情深爱一区二区| 国产一区二区在线观看免费| 麻豆久久一区二区| 久久99国产精品久久| 国内不卡的二区三区中文字幕| 日韩电影在线一区二区三区| 亚洲成人免费观看| 首页国产丝袜综合| 久久国内精品自在自线400部| 日韩国产欧美一区二区三区| 日本欧美在线观看| 蜜桃视频在线观看一区二区| 天堂蜜桃91精品| 三级欧美韩日大片在线看| 秋霞影院一区二区| 麻豆精品一区二区综合av| 日本不卡不码高清免费观看| 老司机免费视频一区二区三区| 激情综合色综合久久| 国产精品99久| 91论坛在线播放| 欧美日韩在线播放一区| 欧美丰满嫩嫩电影| 国产精品福利一区| 国产欧美精品一区二区三区四区 | 亚洲va韩国va欧美va| 日韩av网站在线观看| 激情深爱一区二区| 9i在线看片成人免费| 欧美影院一区二区| 欧美一区二区在线不卡| 日韩精品一区二区三区三区免费| 精品入口麻豆88视频| 久久久激情视频| 亚洲免费观看高清完整| 欧美aaaaaa午夜精品| 国产伦精一区二区三区| 99久久久免费精品国产一区二区| 色婷婷一区二区| 在线电影一区二区三区| 久久精子c满五个校花| 亚洲美女少妇撒尿| 免费人成精品欧美精品| 成人性色生活片免费看爆迷你毛片| 色悠悠久久综合| 欧美精品一区二区三| 国产精品国产馆在线真实露脸| 亚洲国产乱码最新视频 | 欧美丰满美乳xxx高潮www| 精品少妇一区二区三区在线视频 | 久久亚洲精精品中文字幕早川悠里| 亚洲国产精品精华液ab| 五月天激情小说综合| 国产精华液一区二区三区| 欧美人狂配大交3d怪物一区| 国产精品人人做人人爽人人添| 国产精品久久毛片av大全日韩| 亚洲一区二区三区爽爽爽爽爽| 国产伦精品一区二区三区视频青涩| 欧美日韩一级二级| 国产精品久久久久久久第一福利 | 国产最新精品免费| 欧美视频一区二区三区四区| 久久久精品综合| 日本不卡视频一二三区| 色老汉一区二区三区| 日韩视频一区二区在线观看| 亚洲女性喷水在线观看一区| 成人综合在线观看| 欧美一卡在线观看| 亚洲一区中文在线| jlzzjlzz亚洲女人18| 国产欧美精品一区aⅴ影院| 精品一区二区在线观看| 欧美视频一二三区| 91麻豆精品国产91久久久久| 亚洲精品免费视频| 成人免费视频caoporn| 精品免费一区二区三区| 美国欧美日韩国产在线播放| 欧美伊人精品成人久久综合97| 国产欧美精品日韩区二区麻豆天美| 麻豆精品一区二区综合av| 欧美一级夜夜爽| 日韩精品免费视频人成| 欧美午夜精品电影| 亚洲日本一区二区| 99久久伊人精品| 亚洲人成影院在线观看| 91欧美激情一区二区三区成人| 亚洲精品视频在线观看网站| 色婷婷香蕉在线一区二区| 亚洲色图在线播放| 欧美日韩国产经典色站一区二区三区 | 亚洲欧洲精品天堂一级 | 久久久精品中文字幕麻豆发布| 国产一区二区三区国产| 日本一区二区久久| 99免费精品在线观看| 亚洲精品国产精华液| 欧美亚男人的天堂| 奇米精品一区二区三区四区 | 91免费观看国产| 亚洲精品乱码久久久久| 欧美日韩一区二区三区四区| 夜夜爽夜夜爽精品视频| 欧美欧美午夜aⅴ在线观看| 狠狠色丁香婷综合久久| 国产精品美女久久久久av爽李琼| 91老师片黄在线观看| 亚洲成人在线免费| 欧美精品一区二区三区很污很色的 | 亚洲一区二区三区四区的| 5月丁香婷婷综合| 国产一区欧美一区| 一色屋精品亚洲香蕉网站| 欧美精品aⅴ在线视频| 亚洲精品视频在线观看网站| 欧美高清激情brazzers| 美日韩一区二区三区| 欧美国产精品一区二区| 欧美在线观看视频一区二区| 久久 天天综合| 亚洲色图欧美在线| 精品乱码亚洲一区二区不卡| 91蜜桃免费观看视频| 看电影不卡的网站| 91精品国产91综合久久蜜臀| 成人综合在线观看| 日韩精品国产精品| 中文字幕一区二区三| 日韩欧美资源站| 欧美日韩卡一卡二| 欧美亚洲一区二区在线| 成人午夜大片免费观看| 免费精品视频在线| 亚洲影院理伦片|