hibernate 中1对1的关系分为外键关联和主键关联

外键关联:

//多方

public class Students {                                                                           
  private Integer stuId;
  private String stuName;
  private Integer age;
  private ClassInfo classInfo;

get.set方法省略

}

配置:

<class name="Students" table="test_Students" >
  <id name="stuId" column="stu_id" >
    <generator class="sequence">
      <param name="sequence">seq_test_Students</param>
    </generator>
  </id>
  <property name="stuName" column="stu_name" />
  <property name="age" />
  <!-- 多对1的关系 -->
  <many-to-one name="classInfo" class="ClassInfo" column="cid" unique="true" />
</class>

//一方

public class ClassInfo {
  private Integer cid;
  private String cname;
  private Students students;

get.set方法省略

}

ClassInfo.hbm.xml配置:

<class name="ClassInfo" table="test_Class_Info" >
  <id name="cid" >
    <generator class="sequence">
      <param name="sequence">seq_test_Class_Info</param>
    </generator>
  </id>
  <property name="cname" />
  <!-- 一对一的关系 -->
  <one-to-one name="students" class="Students" cascade="all" />
</class>

主键关联:

/**
* 主键生成方
*/
public class Husband {
  private Integer marriageId;
  private String hname;
  private Wife wife;

  get.set方法省略

}

配置:

<class name="Husband" table="test_husband" >
  <id name="marriageId" column="marriage_Id" >
    <generator class="sequence">
      <param name="sequence">seq_test_husband</param>
    </generator>
  </id>
  <property name="hname" />
  <!-- 一对一的关系 -->
  <one-to-one name="wife" class="Wife" cascade="all" />
</class>

/**
* 主键跟随方
*/
public class Wife {
  private Integer marriageId;
  private String wname;
  private Husband husband;

  get.set方法省略

}

配置:

<class name="Wife" table="test_wife" >
   <id name="marriageId" column="marriage_Id" >
    <generator class="foreign">
      <param name="property">husband</param>
    </generator>
  </id>
  <property name="wname" />
  <!-- 一对一的关系 -->
  <one-to-one name="husband" class="Husband"/>
</class>

hibernate 1对1的关系的更多相关文章

  1. Hibernate入门5持久化对象关系和批量处理技术

    Hibernate入门5持久化对象关系和批量处理技术 20131128 代码下载 链接: http://pan.baidu.com/s/1Ccuup 密码: vqlv 前言: 前面学习了Hiberna ...

  2. Hibernate基础学习(五)—对象-关系映射(下)

    一.单向n-1 单向n-1关联只需从n的一端可以访问1的一端. 域模型: 从Order到Customer的多对一单向关联.Order类中定义一个Customer属性,而在Customer类不用存放Or ...

  3. Java之旅hibernate(8)——基本关系映射

    何为关系,何为映射,关系这个词想必大家都不陌生.比方你和老师之间是师生关系,你和父母之间是父子或者父女(母子或者母女关系). 关系是存在某种联系物体之间产生的.什么都是可能的.比方你和工具,你仅仅能使 ...

  4. Hibernate中的一对一映射关系

    Hibernate中的一对一映射关系有两种实现方法(单向一对一,和双向一对一)(一对一关系:例如一个department只能有一个manager) 单向和双向有什么区别呢??例如若是单向一对一,比如在 ...

  5. hibernate学习(5)——多对多关系映射

    1.创建实体和映射 package com.alice.hibernate03.vo; import java.util.HashSet; import java.util.Set; public c ...

  6. spring data jpa hibernate jpa 三者之间的关系

    JPA规范与ORM框架之间的关系是怎样的呢? JPA规范本质上就是一种ORM规范,注意不是ORM框架——因为JPA并未提供ORM实现,它只是制订了一些规范,提供了一些编程的API接口,但具体实现则由服 ...

  7. [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  8. Hibernate中的多对多关系详解(3)​

    前面两节我们讲到了一对一的关系,一对多,多对一的关系,相对来说,是比较简单的,但有时,我们也会遇到多对多的关系,比如说:角色与权限的关系,就是典型的多对多的关系,因此,我有必要对这种关系详解,以便大家 ...

  9. Hibernate中的一对多关系详解(2)

    一对多的关系:例如,部门对员工,一个部门可以有多个员工 多对一的关系:例如,员工对部门,多个员工属于一个部门,并且每个员工只能属于一个部门 那么一对多.多对一在数据库中的是怎样表示的呢?好多话都不说了 ...

  10. Hibernate -- 注解(Annotation)关系映射

    转自:http://www.cnblogs.com/tyler2000/archive/2011/01/20/1940354.html 1. Hibernate Annotation关系映射有下面几种 ...

随机推荐

  1. JSP include 指令

    1. 创建test5.jsp test5_1.jsp test5_2.jsp test5_1.jsp <%@ page import="java.util.*" %> ...

  2. Openwrt编译时修改默认IP的方法

    在~/openwrt/barrier_breaker/package/base-files/files/lib/functions/ uci-defaults.sh 第178行修改IP地址

  3. 2018-2019学年第一学期Java课设--魔塔

    目录 Magic-Towers 一.团队名称.团队成员介绍.任务分配 团队名称:MoTa 团队成员介绍 任务分配 二.项目简介 三.项目采用技术 四.项目亮点 主界面显示主要信息功能 游戏动画 五.项 ...

  4. js和jquery判断该元素中是否有指定class

    <div class="test">test</div> var t = document.getElementsByClassName('test'); ...

  5. SpringCloud使用jpa之Rest方式

    这个与上一篇的基本相同,需要修改的只有Dao层的文件: TablesDao.java package com.shinho.dao; import org.springframework.data.j ...

  6. bzoj1825: [JSOI2010]蔬菜庆典

    Description Input Output 对于每组数据,输出一行.若蔬菜的总价能无限制增大,输出"+inf"(不含引号).否则输出一个整数,表示所有蔬菜的最大总价.   首 ...

  7. [转]my97 datepicker IE9+ 故障修复方法

    转自:http://blog.csdn.net/xuwj1984/article/details/38733483 问题1:my97 datepicker 不能弹出日期下拉框. 解决方法: 1.下载最 ...

  8. override的实现原理

    转载 http://blog.csdn.net/fan2012huan/article/details/51007517 基于基类的调用和基于接口的调用,从性能上来讲,基于基类的调用性能更高 .因为i ...

  9. 在Linux 系统 Latex安装 使用入门教程

    来源: http://blog.chinaunix.net/u/25605/showart_2100398.html 入门介绍好文:TeX.LaTeX.TeXLive 小结 笔记详情:http://v ...

  10. [UE4]C++ getter and setter

    问:以前面向对象没学好.... 最近老是在想,既然要设为private为什么还要写个setter来改变它的值呢? 为什么不直接把它直接设成public倒省事? 呵呵,谢啦 答:用setter来改变数据 ...