Hibernate 第十讲 表关联关系(一)单项一对一外键关联
来源:互联网 发布:oracle数据库权限分配 编辑:程序博客网 时间:2024/06/05 23:05
一:annotation配置方式
package com.darren.relation.model;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;@Entitypublic class Wife { private int id; private String name; @Id @GeneratedValue public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
package com.darren.relation.model;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.JoinColumn;import javax.persistence.OneToOne;@Entitypublic class Husband { private int id; private String name; private Wife wife; @Id @GeneratedValue public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @OneToOne @JoinColumn(name="wife_id") public Wife getWife() { return wife; } public void setWife(Wife wife) { this.wife = wife; }}
结果:生成的表结构为:
create table Husband ( id integer not null auto_increment, name varchar(255), wife_id integer, primary key (id) ) create table Wife ( id integer not null auto_increment, name varchar(255), primary key (id) )
二:xml配置方式
package com.darren.relation.model;public class WifeXml { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
package com.darren.relation.model;public class HusbandXml { private int id; private String name; private WifeXml wifeXml; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public WifeXml getWifeXml() { return wifeXml; } public void setWifeXml(WifeXml wifeXml) { this.wifeXml = wifeXml; }}
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.darren.relation.model"> <class name="WifeXml" table="wife_xml"> <id name="id" column="id"> <!-- 主键生成策略,自动增长 --> <generator class="native" /> </id> <property name="name"></property> </class></hibernate-mapping>
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.darren.relation.model"> <class name="HusbandXml" table="husband_xml"> <id name="id" column="id"> <generator class="native" /> </id> <property name="name"></property> <!-- wifeXml 表示HusbandXml类中的wifeXml对象 --> <!-- wife_id 表示HusbandXml生成的表中的外键名 --> <!-- unique="true" 表示是一对一关系 --> <many-to-one name="wifeXml" column="wife_id" unique="true"></many-to-one> </class></hibernate-mapping>
结果:生成的表结构为:
create table husband_xml ( id integer not null auto_increment, name varchar(255), wife_id integer unique, primary key (id) ) create table wife_xml ( id integer not null auto_increment, name varchar(255), primary key (id) )
- Hibernate 第十讲 表关联关系(一)单项一对一外键关联
- Hibernate 第十讲 表关联关系(二)双向项一对一外键关联
- Hibernate 第十讲 表关联关系(三)单向项一对一主键关联
- Hibernate 第十讲 表关联关系(四)双向一对一主键关联
- Hibernate 第十讲 表关联关系(五)一对一联合主键关联
- 【hibernate框架】关系映射之一对一单项外键关联(Annotation实现)
- Hibernate 第十讲 表关联关系(六)组件映射
- Hibernate 第十讲 表关联关系(七)单向多对一
- Hibernate关联关系映射(一对一关联)
- Hibernate关联关系之一对一(外键关联)
- Hibernate 第十一讲 表关联关系操作(一)
- hibernate一对一主键唯一外键关联(一)
- Hibernate 关联映射 之 一对多单项关联 (一)
- Hibernate一对一关联(唯一外键)
- hibernate 一对一外键关联
- Hibernate一对一双向关联(外键关联)用法小结
- Hibernate 第十讲 表关联关系(八)单向一对多
- Hibernate 第十讲 表关联关系(九)双向一对多
- Linux的系统级性能剖析工具-perf
- 经典SQL语句大全
- 使用struts同步令牌机制避免表单的重复提交
- 去视频网站的广告
- 直接插入排序
- Hibernate 第十讲 表关联关系(一)单项一对一外键关联
- Struts2自定义拦截器和检验器
- Hadoop
- java中list、set和map 的区别
- window.open(转)
- JSF 2.0(基于Primefaces 3.4.2) 中文乱码的处理方案
- List,Set,Map用法以及区别
- 免费编程入门教程资源推荐搜集,分享给想开始学习程序开发的同学
- 二维数组处理成绩