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

北京北大青鳥通州校區提供: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>

 

北大青鳥網上報名
北大青鳥招生簡章
久久天堂一区二区三区_国内精品久久久久影院网站_亚洲国产一区二区三区最新_亚洲国产一区二区三区四区五区

      9000px;">

          亚洲国产精品一区二区久久恐怖片 | 国产精品99久久久| 亚洲午夜激情网页| 一区二区三区欧美| 18涩涩午夜精品.www| 国产婷婷色一区二区三区 | 成人午夜免费av| 国产精品123| 国产成人综合在线播放| 精品一区二区三区在线播放视频 | 久久久久久久久久久久电影 | 一本高清dvd不卡在线观看| 成人18视频日本| 99精品久久只有精品| 色哟哟欧美精品| 欧美色精品天天在线观看视频| 色婷婷综合视频在线观看| 欧美系列亚洲系列| 欧美精品在线观看一区二区| 欧美电视剧在线看免费| 欧美成人一区二区三区在线观看| 久久五月婷婷丁香社区| 中文字幕中文字幕一区| 亚洲精品国产一区二区精华液 | 久久噜噜亚洲综合| 中文字幕亚洲一区二区va在线| 中文字幕一区二区三中文字幕| 一区二区三区四区av| 视频一区二区欧美| 国产乱国产乱300精品| 国产91清纯白嫩初高中在线观看| 成人精品视频一区| 欧美日韩aaa| 久久综合九色欧美综合狠狠| 中文字幕中文字幕一区二区 | 欧美成人女星排名| 国产精品拍天天在线| 亚洲一区av在线| 国产成人午夜99999| 在线观看国产精品网站| 26uuu久久天堂性欧美| 亚洲人吸女人奶水| 激情综合网最新| 91国偷自产一区二区开放时间 | 26uuu亚洲| 无吗不卡中文字幕| 国产精品99久久久久久久vr| 欧美撒尿777hd撒尿| 2020日本不卡一区二区视频| 亚洲精品国产成人久久av盗摄| 久久激情五月激情| 在线观看91视频| 国产精品久久久久影院亚瑟| 免费成人你懂的| 日本精品一级二级| 国产日韩欧美综合在线| 偷拍一区二区三区| 色综合久久中文综合久久牛| 久久只精品国产| 亚洲国产一区二区视频| 99在线热播精品免费| 久久伊99综合婷婷久久伊| 亚洲成年人影院| 色综合视频在线观看| 久久精品亚洲国产奇米99| 日本伊人午夜精品| 欧美日韩中文字幕一区二区| 亚洲欧洲成人精品av97| 国产91精品一区二区| 久久久亚洲精品石原莉奈| 日韩专区欧美专区| 欧美图区在线视频| 一区二区三区四区在线播放| 99久久久久免费精品国产| 欧美激情一区二区三区四区 | 亚洲欧洲三级电影| 成人精品gif动图一区| 国产视频在线观看一区二区三区| 另类小说视频一区二区| 欧美成人性福生活免费看| 美脚の诱脚舐め脚责91| 日韩丝袜美女视频| 日韩成人免费电影| 欧美精品黑人性xxxx| 亚洲国产成人精品视频| 欧美日本一区二区三区| 视频在线在亚洲| 日韩无一区二区| 精品亚洲成a人| 久久日一线二线三线suv| 久久99精品久久久久久| 久久免费的精品国产v∧| 国产成a人亚洲精品| 中文字幕在线观看不卡| 欧美专区日韩专区| 日韩成人一级大片| xnxx国产精品| 成人黄色在线视频| 樱桃国产成人精品视频| 欧美日本在线播放| 精品在线免费观看| 国产精品欧美久久久久无广告| 99精品1区2区| 日韩成人精品在线观看| 久久久www成人免费毛片麻豆| 不卡一卡二卡三乱码免费网站| 一区二区三区不卡视频| 日韩欧美国产综合在线一区二区三区| 久久精品免费观看| 亚洲视频综合在线| 91精品国产美女浴室洗澡无遮挡| 国产一区在线精品| 亚洲人成精品久久久久久| 欧美日韩视频一区二区| 国产美女av一区二区三区| 一区二区三区中文字幕精品精品| 欧美精品在欧美一区二区少妇| 国产成人午夜精品影院观看视频| 亚洲在线视频免费观看| 久久网站最新地址| 欧美高清视频一二三区 | 欧美激情在线观看视频免费| 欧美浪妇xxxx高跟鞋交| 福利电影一区二区| 日韩va欧美va亚洲va久久| 国产精品国产馆在线真实露脸| 欧美一区二区视频在线观看2022| 成人app在线| 黄色日韩网站视频| 丝袜亚洲另类欧美综合| 亚洲女与黑人做爰| 国产亚洲制服色| 日韩欧美国产系列| 欧美色窝79yyyycom| 99在线热播精品免费| 国产精品一二三四| 日本va欧美va精品| 亚洲成人一二三| 亚洲色大成网站www久久九九| 26uuu亚洲| 日韩精品一区二区三区蜜臀| 精品视频在线视频| 在线影视一区二区三区| av不卡在线播放| 成人久久18免费网站麻豆| 国产精品小仙女| 国产精品亚洲一区二区三区在线| 毛片av一区二区三区| 婷婷中文字幕综合| 亚洲国产成人av网| 亚洲伊人伊色伊影伊综合网| 亚洲黄色av一区| 亚洲一区二区三区四区在线免费观看| 国产精品久久久久久久岛一牛影视| 国产亚洲精久久久久久| 久久午夜老司机| 国产人成一区二区三区影院| 国产日韩欧美一区二区三区综合 | 一本大道久久a久久综合婷婷| 99免费精品在线| 一本一道久久a久久精品综合蜜臀| 91丨porny丨蝌蚪视频| 91麻豆成人久久精品二区三区| 99精品视频一区二区| 91日韩在线专区| 一本久久综合亚洲鲁鲁五月天| 91欧美一区二区| 欧美狂野另类xxxxoooo| 日韩免费高清视频| 久久综合视频网| 国产精品拍天天在线| 亚洲自拍偷拍麻豆| 日本va欧美va精品发布| 国v精品久久久网| 在线区一区二视频| 欧美成人激情免费网| 国产欧美一区二区在线| 伊人性伊人情综合网| 免费观看91视频大全| 国产成人精品网址| 欧美色中文字幕| 国产亚洲精品免费| 一区二区久久久| 国产在线精品国自产拍免费| 成人app下载| 精品少妇一区二区三区视频免付费| 国产日韩欧美一区二区三区综合| 一区二区国产视频| 极品少妇xxxx偷拍精品少妇| 色诱视频网站一区| 久久精品日韩一区二区三区| 亚洲最大成人网4388xx| 极品美女销魂一区二区三区免费| 色婷婷狠狠综合| 久久久久久久久久久99999| 亚洲综合一区二区| 成人av网址在线观看| 欧美成人乱码一区二区三区| 亚洲精品视频在线看| 国产a久久麻豆|