Hibernate学习总结:OneToOne单向外键关联
来源:互联网 发布:debian和ubuntu哪个好 编辑:程序博客网 时间:2024/05/16 12:46
ex: 例子是一夫一妻(OneToOne单向外键关联)
一、首先是Annotation版本:
Husband.java:
package com.buaa.hibernate.bean;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@GeneratedValuepublic 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="wifeId")public Wife getWife() {return wife;}public void setWife(Wife wife) {this.wife = wife;}}Wife.java:
package com.buaa.hibernate.bean;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;@Entitypublic class Wife {private int id;private String name;@Id@GeneratedValuepublic 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;}}hibernate.cfg.xml:
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-configuration SYSTEM "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration> <session-factory> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <!-- Assume test is the database name --> <property name="connection.url">jdbc:mysql://localhost/test</property> <property name="connection.username">root</property> <property name="connection.password">123456</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="show_sql">true</property> <property name="format_sql">true</property> <property name="hbm2ddl.auto">create</property><mapping class="com.buaa.hibernate.bean.Husband"/><mapping class="com.buaa.hibernate.bean.Wife"/></session-factory></hibernate-configuration>二、是xml版本:
Husband.hbm.xml:
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.buaa.hibernate.bean"><class name="Husband"><id name="id"><generator class="native" /></id><property name="name"/><many-to-one name="wife" column="wifeId" not-null="true"unique="true" /></class><class name="Wife"><id name="id"><generator class="native" /></id><property name="name"/></class></hibernate-mapping>
这里需要注意的是:Hiberante使用了many-to-one来实现one-to-one的关系映射,而且其中外键字段必须添加唯一约束。这样映射出来的表才能保证一对一的关系。
hibernate.cfg.xml:
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-configuration SYSTEM "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration> <session-factory> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <!-- Assume test is the database name --> <property name="connection.url">jdbc:mysql://localhost/test</property> <property name="connection.username">root</property> <property name="connection.password">123456</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="show_sql">true</property> <property name="format_sql">true</property> <property name="hbm2ddl.auto">create</property><mapping resource="com/buaa/hibernate/bean/Husband.hbm.xml"/></session-factory></hibernate-configuration>
0 0
- Hibernate学习总结:OneToOne单向外键关联
- Hibernate关系映射(一)一对一单向外键关联@OneToOne Annotation方式
- (4)OneToOne联合单向外键关联: @JoinColumns
- Hibernate学习笔记_06_一对一单向外键关联
- Hibernate学习总结:OneToOne双向外键关联
- hibernate一对一单向外键关联
- hibernate一对一单向外键关联_Annotation
- hibernate一对一单向外键关联_XML
- hibernate Annotation一对一单向外键关联
- hibernate一对一单向外键关联
- hibernate一对一单向外键关联
- Hibernate学习总结:OneToOne单向主键关联
- Hibernate学习总结:OneToOne双向主键关联
- hibernate学习:一对一双向外键关联
- Hibernate关系映射(二)一对一双向外键关联@OneToOne Annotation方式
- Hibernate一对一单向外键关联(简单总结了5种方法)
- hibernate学习:一对一单向外键映射
- Hibernate学习09---基于XML配置的一对一单向外键关联
- 鸟哥linux 学习笔记 第六章
- POJ 1236 —— Network of Schools
- NYOJ 1129 Salvation(技巧型深搜)
- "Kernel version" 中编译时间的前世今生
- 内存管理:栈区,堆区,全局区,文字常量区,程序代码区
- Hibernate学习总结:OneToOne单向外键关联
- Fatal error: Call to a member function fetch_array() on a non-object in E:\wamp\www\shop\index.php
- 几种常见的存储方式
- poj1170(状态压缩dp)
- 电量统计之一:PowerProfile.java与power_profile.xml
- 结构体日期计算
- POJ 1251.Jungle Roads【最小生成树】【4月15】
- EhCache 分布式下缓存对象的同步
- 笔记-AVL树