成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hibernate一對一 主鍵關聯映射

開發 后端
本文將介紹兩個對象之間是一對一的關系,如Person-IdCard(人-身份證號)和兩種策略可以實現一對一的關聯映射。

*兩個對象之間是一對一的關系,如Person-IdCard(人-身份證號)

*有兩種策略可以實現一對一的關聯映射

》主鍵關聯:即讓兩個對象具有相同的主鍵值,以表明它們之間的一一對應關系;數據庫不會有額外的字段來維護它們之間的關系,僅通過表的主鍵來關聯

》唯一外鍵關聯:外鍵關聯本來是用于多對一的配置,但是如果加上唯一的限制之后,也可以用來表示一對一關聯映射

1.主鍵關聯映射(單向)

實例場景:人-->身份證號(Person-->IdCard),從IdCard看不到Person對象

對象模型:

IdCard實體類:

  1. public class IdCard {  
  2.     private int id;   
  3.     private String cardNo;  
  4.  
  5.     public int getId() {  
  6.         return id;  
  7.     }  
  8.     public void setId(int id) {  
  9.         this.id = id;  
  10.     }  
  11.     public String getCardNo() {  
  12.         return cardNo;  
  13.     }  
  14.     public void setCardNo(String cardNo) {  
  15.         this.cardNo = cardNo;  
  16.     }  
  17. }  

Person實體類:

  1. public class Person {  
  2.     private int id;   
  3.     private String name;      
  4.     private IdCard idCard;//持有IdCard對象的引用  
  5.     public int getId() {  
  6.         return id;  
  7.     }  
  8.     public void setId(int id) {  
  9.         this.id = id;  
  10.     }  
  11.     public String getName() {  
  12.         return name;  
  13.     }  
  14.     public void setName(String name) {  
  15.         this.name = name;  
  16.     }  
  17.     public IdCard getIdCard() {  
  18.         return idCard;  
  19.     }  
  20.     public void setIdCard(IdCard idCard) {  
  21.         this.idCard = idCard;  
  22.     }  
  23. }  

IdCard實體映射文件:

  1. <hibernate-mapping>  
  2.     <class name="com.cn.hibernate.IdCard" table="t_idcard">  
  3.         <id name="id" column="id">  
  4.             <generator class="native"/>  
  5.         </id>  
  6.         <property name="cardNo"/>  
  7.     </class>  
  8. </hibernate-mapping>  

Person實體映射文件:

  1. <hibernate-mapping>  
  2.     <class name="com.cn.hibernate.Person" table="t_person">  
  3.         <id name="id" column="id">  
  4.             <!--  
  5.                 因為主鍵不是自己生成的,而是作為一個外鍵(來源于其它值),所以使用foreign生成策略  
  6.                 foreign:使用另外一個相關聯的對象的標識符,通常和<one-to-one>聯合起來使用。  
  7.                 再使用元素<param>的屬性值指定相關聯對象(這里Person相關聯的對象為idCard,則標識符為idCard的id)為了能夠在加載person數據同時加載IdCard數據,所以需要使用一個標簽<one-to-one>來設置這個功能。  
  8.              -->  
  9.             <generator class="foreign">  
  10.                 <!-- 元素<param>屬性name的值是固定為property -->  
  11.                 <param name="property">idCard</param>  
  12.             </generator>  
  13.         </id>  
  14.         <property name="name"/>  
  15.         <!-- <one-to-one>標簽  
  16.         表示如何加載它的引用對象(這里引用對象就指idCard這里的name值是idCard),同時也說是一對一的關系。  
  17.         默認方式是根據主鍵加載(把person中的主鍵取出再到IdCard中來取相關IdCard數據。)  
  18.  我們也說過此主鍵也作為一個外鍵引用 了IdCard,所以需要加一個數據庫限制(外鍵約束)constrained="true" 
  19.          -->  
  20.         <one-to-one name="idCard" constrained="true"/>    
  21. </class>  
  22. </hibernate-mapping> 

原文鏈接:http://blog.csdn.net/fengxuezhiye/article/details/7374584

【編輯推薦】

  1. Hibernate的基本標簽和映射
  2. Java集合框架總結:Set接口的使用
  3. Java的位移運算巧方法
  4. Java7的一個新類JLayer:裝飾的Swing組件
  5. 關于Java中內存溢出的解決辦法
責任編輯:林師授 來源: fengxuezhiye的博客
相關推薦

2012-02-08 13:34:08

HibernateJava

2009-06-03 16:27:27

Hibernate一對一關系

2009-06-03 16:18:16

Hibernate關系代碼實例

2009-06-04 16:14:22

Hibernate一對Hibernate一對Hibernate多對

2009-08-17 10:34:51

NHibernate一

2009-09-23 10:37:50

Hibernate一對

2009-09-22 09:55:58

Hibernate實例

2009-09-23 10:57:02

Hibernate一對

2009-06-24 15:49:54

Entity Bean一對一映射

2009-07-21 17:31:39

iBATIS一對多映射

2009-06-26 10:15:54

面試HR

2009-06-04 10:34:19

Hibernate一對一對多關系配置

2009-12-23 09:31:11

寬帶路由上網故障

2012-02-03 10:07:04

HibernateJava

2010-04-15 09:09:02

Hibernate

2012-03-13 16:29:54

Between情侶移動應用

2013-10-12 16:41:01

微軟微軟CEO鮑爾默

2009-09-25 12:59:52

Hibernate映射

2009-10-22 18:24:35

數字化教學教育

2009-09-25 10:00:47

Hibernate映射
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧美在线视频 | 国产欧美在线视频 | 久久91av| 国产欧美精品一区二区色综合朱莉 | 久久精品亚洲欧美日韩久久 | 国产精品视频网站 | 国产亚洲一区二区精品 | 一区二区三区精品视频 | 国产精品免费大片 | 久久精品综合 | 久久久影院 | 午夜一级做a爰片久久毛片 精品综合 | 久久99国产精一区二区三区 | 少妇特黄a一区二区三区88av | 嫩呦国产一区二区三区av | 久久国际精品 | 久久久久一区二区三区四区 | 日韩一区二区三区视频在线播放 | 亚洲天堂久久 | 久久国产视频网 | 免费黄色片在线观看 | 欧美一级在线免费 | 中文字幕精品一区二区三区精品 | 久久免费视频观看 | 国产资源在线视频 | 亚洲一区欧美一区 | 亚洲欧美在线视频 | 精品国产乱码久久久久久丨区2区 | 狠狠做深爱婷婷综合一区 | 一区二区精品在线 | 亚洲欧美v| 亚洲精品91| 久久久亚洲 | 国产精品久久久久久一区二区三区 | 国产丝袜av | 日本成人在线免费视频 | 色综久久 | 国产精品1区| 久久精品国产一区二区三区 | 福利视频二区 | 黄色在线播放视频 |