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>

最新文章

  1. 页面(html,css,js)上传到服务器后乱码
  2. MySQL触发器使用详解
  3. 读取 java.nio.ByteBuffer 中的字符串(String) 写入方式flash.utils.ByteArray.writeUTF
  4. 关于32位windows与4GB内存的那些事儿
  5. mac下php开发环境搭建+CI框架使用
  6. 【LeetCode OJ】Binary Tree Level Order Traversal II
  7. java 读取Excel文件并数据持久化方法Demo
  8. Page_Load 事件
  9. 免安装oracle驱动访问数据库
  10. [转] 小tips: 使用&amp;#x3000;等空格实现最小成本中文对齐 ---张鑫旭
  11. LeetCode_Palindrome Partitioning
  12. android 用 XML 自定义边框(只上下边框有色)
  13. jQuery 如何写插件 - 第一步
  14. Java 初始化的个人理解
  15. 移除GridView中的重复项
  16. 【Scala】Scala之Traits
  17. Win7怎样禁用自带IE浏览器
  18. My97DatePicker日历控制按日、按周和按月选择
  19. [NOIp 2012]同余方程
  20. codeforces 985C Liebig&#39;s Barrels

热门文章

  1. &lt;&lt;APUE&gt;&gt; 线程的分离状态
  2. Eclipse整合Tomcat开发Dynamic Web Project环境总结
  3. 【ActiveMQ入门-5】ActiveMQ学习-消息持久性
  4. bzoj3685 普通veb树
  5. C++基本规则
  6. 术语-服务:SaaS
  7. mysql 不同事务隔离级别
  8. Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!
  9. Web 项目遇到的乱码问题
  10. unity3d动态加载dll的API以及限制