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. windows server 2008 R2 无法启用"网络发现" 需要启动的服务

    必须打开以下服务: 1.dnscache(简写.fdrespub(简写) 2.SSDP Discovery 3. UPnP Device Host 4. Computer Browser 5.Serv ...

  2. 大快DKhadoop开发环境安装常见问题与解决方案

    2018年度国内大数据公司排名50强本月初榜单发布,榜单上看到大快搜索跻身50强,再看看他们做的DKHadoop发行版,的确还是蛮厉害的吧!最起码这款DKHadoop用起来确实在易用性方面要更好!Dk ...

  3. 微信公众号获取粉丝openid系统

    做为一名开发人员,在测试当中也经常需要用到openid,但是微信公众号获取openid的方法也是特别麻烦!网页授权是最常见的方式, 但是网页授权的流程太复杂,不仅要开发,还要在公众号后台设置回调域名( ...

  4. BASIC-25_蓝桥杯_回形取数

    示例代码: #include <stdio.h>#define N 200 int main(void){ int num[N][N]; int i= 0, j = 0 , k = 0 , ...

  5. web服务器检测

    # coding=utf-8 import sys import socket import re def check_webserver(address, port, resource): addr ...

  6. 绕过限制,在PC上调试微信手机页面

    场景 假设一个手机页面,开发者对其做了限制,导致只能在微信客户端中打开.而众所周知手机上非常不利于调试页面,所以需要能在电脑上打开并进行调试.这里针对常见的三种页面做一下分析,一一绕过其限制,(当然不 ...

  7. [UE4]GameMode

    GameMode定义了正在玩的游戏规则,积分等方面,游戏中有些数据和逻辑不适合放在某一个对象身上,这些数据在整个游戏运行中腰持续存在的(比如:积分.排名). 每次游戏一启动,GameMode就被创建, ...

  8. kudu架构(转)

    特点:   High availability(高可用性).Tablet server 和 Master 使用 Raft Consensus Algorithm 来保证节点的高可用,确保只要有一半以上 ...

  9. EMNLP 2018 | 用强化学习做神经机器翻译:中山大学&MSRA填补多项空白

    人工深度学习和神经网络已经为机器翻译带来了突破性的进展,强化学习也已经在游戏等领域取得了里程碑突破.中山大学数据科学与计算机学院和微软研究院的一项研究探索了强化学习在神经机器翻译领域的应用,相关论文已 ...

  10. 腾讯优图&港科大提出一种基于深度学习的非光流 HDR 成像方法

    目前最好的高动态范围(HDR)成像方法通常是先利用光流将输入图像对齐,随后再合成 HDR 图像.然而由于输入图像存在遮挡和较大运动,这种方法生成的图像仍然有很多缺陷.最近,腾讯优图和香港科技大学的研究 ...