Hibernate 一对一映射(二)
来源:互联网 发布:建站100元 编辑:程序博客网 时间:2024/05/22 01:13
上篇介绍了Hibernate一对一映射通过主键关联,这篇介绍一对一映射通过唯一外键关联,还是用Person和IdCard实例说明。
唯一外键关联其实是多对一的的特例,采用<many-to-one>标签来映射,指定多的一端unique为true,这样就限制了多的一端的多重性为一,就是这样来映射的。
单向:
Person端:
package com.bjpowernode.hibernate;public class Person {private int id;private String name;private IdCard idCard;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public IdCard getIdCard() {return idCard;}public void setIdCard(IdCard idCard) {this.idCard = idCard;}}
Person.hbm.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><class name="com.bjpowernode.hibernate.Person" table="t_person"><id name="id"><generator class="native"/></id><property name="name"/><many-to-one name="idCard" unique="true"/></class></hibernate-mapping>
IdCard端:
package com.bjpowernode.hibernate;public class IdCard {private int id;private String cardNo;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getCardNo() {return cardNo;}public void setCardNo(String cardNo) {this.cardNo = cardNo;}}IdCard.hbm.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><class name="com.bjpowernode.hibernate.IdCard" table="t_idCard"><id name="id"><generator class="native"/></id><property name="cardNo"/></class></hibernate-mapping>
映射出的表结构如下:
双向:
Person端一样,看IdCard端:
package com.bjpowernode.hibernate;public class IdCard {private int id;private String cardNo;private Person person;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getCardNo() {return cardNo;}public void setCardNo(String cardNo) {this.cardNo = cardNo;}public Person getPerson() {return person;}public void setPerson(Person person) {this.person = person;}}IdCard.hbm.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><class name="com.bjpowernode.hibernate.IdCard" table="t_idCard"><id name="id"><generator class="native"/></id><property name="cardNo"/><one-to-one name="person" property-ref="idCard"/> </class></hibernate-mapping>
0 0
- Hibernate 一对一映射(二)
- 【Hibernate】二、Hibernate映射详解(一对一单向关联)
- Hibernate 二 实体映射(一对一映射)
- hibernate annotation (注解映射) 测试二 一对一 关联
- 【Hibernate步步为营】--双向关联一对一映射详解(二)
- 【Hibernate步步为营】--双向关联一对一映射详解(二)
- 【Hibernate步步为营】--双向关联一对一映射详解(二)
- hibernate进阶之路之一对一映射(二)
- hibernate中一对一映射配置详细解析(二)
- Hibernate 一对一映射(一)
- hibernate一对一映射(注解)
- 【HIbernate框架学习】:Hibernate对象关系映射之一对一关联映射(二)
- Hibernate(九)hibernate一对一关系映射
- Hibernate中的one2one映射实例二(一对一主键关联映射双向)
- hibernate映射一对一关联(主键关联)
- hibernate——一对一映射(1)
- Hibernate关联关系映射(一对一关联)
- hibernate映射(三)——一对一
- Hadoop YARN中内存和CPU两种资源的调度和隔离
- Delta-wave(YY题)
- android L 变化之 ActivityManager.getRunningTasks不能获取当前的task列表
- android apk 防止反编译技术第一篇-加壳技术
- 分类器性能评价:图形方法(1)
- Hibernate 一对一映射(二)
- 精选9个值得学习的 HTML5 效果【附源码】
- 使用JMeter创建数据库(Mysql)测试
- 学习Spring笔记三
- bzoj2006 [NOI2010]超级钢琴 [优先队列|RMQ]
- 【Python】将python的py文件编译成保密的pyc文件
- javascript 常用对象与函数 列表
- 拼接html字符串,onClick传递两个参数写法
- UIActivityIndicatorView 进度条(小菊花)-> 后面也可以自定义一个进度条