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. 共享设置及ftp设置

    第一部分 共享设置 一.添加编译选项 network---file transfer---aria2                                                   ...

  2. kibana 与 grafana

    Kibana 和 Grafana 是两个开源工具,能可视化和推断大量日志数据内的趋势.Kibana 是一个分析和可视化平台,它可以让你浏览.可视化存储在Elasticsearch集群上排名靠前的日志数 ...

  3. ExtJS中,将Grid表头中的全选复选框取消复选

    今天发现公司产品用的EXTJS中使用Grid时,Grid表头中的全选复选框的选中状态不是很准确,就写了这个小扩展 在js中加入下面方法,在需要取消全选的地方调用即可,例:Ext.getCmp('gri ...

  4. java 异常和异常处理Exception

    Java Exception: 1.Error 2.Runtime Exception 运行时异常3.Exception 4.throw 用户自定义异常 异常类分两大类型:Error类代表了编译和系统 ...

  5. Excel数组排序+图片统一大小

    Sub 图片调整合适大小() ' Debug.Print ActiveWorkbook.Name 图片显示比例 = 0.9 '1为顶满单元格 Dim wb As Workbook, sh As Wor ...

  6. 【Spring学习笔记-MVC-10】Spring MVC之数据校验

    作者:ssslinppp       1.准备 这里我们采用Hibernate-validator来进行验证,Hibernate-validator实现了JSR-303验证框架支持注解风格的验证.首先 ...

  7. css调用方式的方法

    1.内部样式表(位于 <head> 标签内部) <html><style>.box{display:inline}p { color: rgb(255,0,0); ...

  8. 汽车收费 C++ PTA

    7-1 汽车收费(10 分) 现在要开发一个系统,管理对多种汽车的收费工作. 给出下面的一个基类框架 class Vehicle { protected: string NO;//编号 public: ...

  9. android手机版本

    1.判断安卓手机是64位,还是32位 adb pull /system/bin/cat file cat 32位 64位 2.判断安卓手机CPU是64位,还是32位 adb shell getprop ...

  10. 接口测试3-4使用csv进行接口测试

    参照前面的例子 向URL发送corpid和corsecret2个参数,可以获取正确的tokenid https://qyapi.weixin.qq.com/cgi-bin/gettoken 数据 场景 ...