一对一关系以丈夫和妻子模型

配置文件

妻子配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!-- 映射配置 -->
<hibernate-mapping>
<class name="hib.po.Wife" table="t_wife">
<id name="wifeId" column="wife_id">
<generator class="uuid"></generator>
</id>
<property name="wifeName" column="wifename"></property>
</class>
</hibernate-mapping>

丈夫配置文件

 <?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!-- 映射配置 -->
<hibernate-mapping>
<class name="hib.po.Husband" table="t_husband">
<id name="husId" column="hus_id">
<generator class="uuid"></generator>
</id> <!-- 普通属性和普通字段映射 -->
<property name="husName" column="husname"></property>
<!-- 关联关系:和Wife的one2one
特殊的many2one
-->
<many-to-one
name="wife"
class="hib.po.Wife"
column="wife_id"
unique="true"
></many-to-one>
</class>
</hibernate-mapping>

测试代码:

 /**
* @author nunu
* 测试hibernate OneToMany
*/
public class TestHibernateOneToOne { /**
* 添加数据
*/
@Test
public void addUser() {
SessionFactory sf = H3Util.getSessionFactory();
Session session = sf.openSession();
Transaction ts = session.beginTransaction(); Husband hus1 = new Husband(null, "小明", null);
Husband hus2 = new Husband(null, "小强", null);
Wife wife1 = new Wife(null, "小花");
Wife wife2 = new Wife(null, "小丽"); session.save(hus1);
session.save(hus2);
session.save(wife1);
session.save(wife2);
System.out.println("成功");
ts.commit();
session.close();
} @Test
public void updateHusband() {
SessionFactory sf = H3Util.getSessionFactory();
Session session = sf.openSession();
Transaction ts = session.beginTransaction(); Husband hus1 = (Husband) session.get(Husband.class, "4028810a57d16fe00157d16fe3450000");
Husband hus2 = (Husband) session.get(Husband.class, "4028810a57d16fe00157d16fe3590001"); Wife wife1 = (Wife) session.get(Wife.class, "4028810a57d16fe00157d16fe3590002");
Wife wife2 = (Wife) session.get(Wife.class, "4028810a57d16fe00157d16fe3590003"); //维护
hus1.setWife(wife1);
hus2.setWife(wife2); //update:使用一级缓存中的快照,如果检测没有发生改变,不会发送任何修改语句
session.update(hus1);
session.update(hus2); System.out.println(hus1);
System.out.println(hus2); ts.commit();
session.close();
}
}

最新文章

  1. [No000079]罗辑思维2016.1.2日前的所有每日语音,python3做的网络爬虫
  2. jquery读取iframe子页面和父页面的处理
  3. JavaScript格式化时间
  4. MySQL 列子查询及 IN、ANY、SOME 和 ALL 操作符的使用(转)
  5. 如何根据w3wp.exe的进程pid查看是哪个应用程序池
  6. jQuery的animate方法在IE8下出现小问题
  7. 构建混合云:配置Azure site to site VPN连接(1)
  8. ASP.NET - 对URL传递的值进行编码Server.UrlEncode()
  9. Swift - 字符串(String)用法详解
  10. linux 查看磁盘、文件夹、文件大小(df du)
  11. 复杂SQL代码实例
  12. JAVA基础——面向对象三大特性:封装、继承、多态
  13. Windows下mysql服务的安装与卸载
  14. Spring Security(二十一):6.3 Advanced Web Features
  15. BigDecimal实现末尾去掉无用0
  16. Centos7.4 安装Docker
  17. property装饰器以及多态
  18. supervisor 守护进程
  19. gdb调试1--包括反汇编及文件编码设置
  20. C#高级编程9 第18章 部署

热门文章

  1. 实践与理解CMM体系
  2. 国内可用的SVN和Git代码托管网站汇总
  3. 使用 Unicode 编码
  4. ARM汇编指令MCR/MRC学习
  5. 百度云分享文件自己设置password
  6. 计算机网络系列:2M的宽带指的是下载速度么?
  7. Golang之bytes.buffer
  8. register_shutdown_function函数详解
  9. 一篇很好的讲解SIFT算法的文章
  10. MVC框架的优缺点