Hibernate关联关系配置-----基于连接表的双向一对一映射配置
来源:互联网 发布:在线培训 源码 编辑:程序博客网 时间:2024/04/29 14:32
实体:
package bi.one2one.jointable;public class Husband {private int id;private String name;private Wife wife;public Husband() {}public Husband(int id, String name, Wife wife) {super();this.id = id;this.name = name;this.wife = wife;}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 Wife getWife() {return wife;}public void setWife(Wife wife) {this.wife = wife;}}package bi.one2one.jointable;public class Wife {private int id;private String name;private Husband husband;public Wife() {}public Wife(int id, String name, Husband husband) {super();this.id = id;this.name = name;this.husband = husband;}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 Husband getHusband() {return husband;}public void setHusband(Husband husband) {this.husband = husband;}}
hbm配置文件:
<hibernate-mapping><class name="bi.one2one.jointable.Husband"><id name="id" column="hid"><generator class="native" /></id><property name="name" type="string" column="name"></property><join table="husbandwife" optional="true"><key column="hid" unique="true"></key><many-to-one name="wife" unique="true" not-null="true" column="wid"></many-to-one></join></class></hibernate-mapping><hibernate-mapping><class name="bi.one2one.jointable.Wife"><id name="id" column="wid"><generator class="native" /></id><property name="name" type="string" column="name"></property><join table="husbandwife" inverse="true" optional="true"><key column="wid" unique="true"></key><many-to-one name="husband" unique="true" not-null="true" column="hid"></many-to-one></join></class></hibernate-mapping>
测试文件:
public class Test {@org.junit.Testpublic void testAdd() {SessionFactory sf = HibernateUtil.getSessionFactory();Session session = sf.getCurrentSession();session.beginTransaction();Wife wife = new Wife();wife.setName("wife");//wife.setHusband(husband);Husband husband = new Husband();husband.setName("husband");husband.setWife(wife);session.save(husband);session.save(wife);session.beginTransaction().commit();}}
测试结果:
Hibernate: insert into Husband (name) values (?)Hibernate: insert into Wife (name) values (?)Hibernate: insert into husbandwife (wid, hid) values (?, ?)
- Hibernate关联关系配置-----基于连接表的双向一对一映射配置
- Hibernate关联关系配置-----基于连接表的双向一对多/多对一映射配置
- Hibernate关联关系配置-----双向一对一映射配置
- Hibernate关联关系配置-----基于连接表的双向多对多配置
- Hibernate关联关系配置-----基于连接表的双向多对多配置
- Hibernate关联关系映射-----基于连接表的单向一对一映射
- Hibernate关联关系映射-----基于连接表的单向一对多映射配置
- Hibernate关联关系映射-----基于连接表的单向多对多映射配置
- Hibernate关系映射 --- 一对一实例分析(双向关联,是基于主键的)
- Hibernate一对一主键双向关联映射(xml配置)
- Hibernate关联关系映射-----单向一对一映射配置
- Hibernate之基于主键映射的一对一关联关系
- hibernate 一对一双向关联映射
- Hibernate关系映射(4)_一对一双向主键关联
- hibernate映射关系之一对一双向主键关联
- Hibernate实体关系映射:双向主键一对一关联
- Hibernate之对象关系映射04一对一双向关联
- Hibernate之对象关系映射05一对一双向主键关联
- ubuntu安装软件
- 学习oracle的一些好网站【持续更新】7-23
- 编程中经常能遇到LNK2005错误——重复定义错误
- 具有热点效果和提示功能的工具栏
- PDB 文件 (C++)
- Hibernate关联关系配置-----基于连接表的双向一对一映射配置
- day 12
- python 变量作用域
- CrossOver Linux的破解文件(9.2破解后正在测试有效性)
- Android OpenGL es 纹理坐标设定与贴图规则
- 异步处理
- ADD_APPLICATION_MENUITEM()和ADD_APPLICATION_MENUITEM2()的差异
- xapian功能说明
- ubuntu NFS配置(自己的机器上通过)