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