Hibernate单向“一对一”关联】的更多相关文章

1. 基于外键关联的单向“一对一”关联其中指定many-to-one的unique="true",为单向“一对一”,不指定就是单向“多对一” <class name="Person">    <id name="id" column="personId"><generator class="native"/></id>    <many-to-one n…
这篇讲 基于主键的单向一对一关联映射 1.依然考察人和身份证的一对一关系,如果采用主键关联,那么其表结构应该为: 2.类结构 Person.java public class Person implements Serializable{ private String id; private String name; private IdCard idCard; public Person() { } public Person(String name) { super(); this.name…
一.数据模型 1.学生信息模型(编号.名称.身份信息) public class Student implements java.io.Serializable{ private static final long serialVersionUID = 1L; private Integer sid; private String sname; private IdClass pid; public Integer getSid() { return sid; } public void set…
Hibernate中一对一关联映射共分为两种,一种是一对一主键关联映射,另一种是一对一唯一外键关联映射.下面简单介绍一下这两种关联映射. 一对一主键关联映射 一对一主键关联映射的两个实体有相同的ID.这种映射又分为单向一对一关联主键映射和双向一对一主键关联映射. 单向一对一主键关联映射 实例类图 映射文件IdCard.hbm.xml <hibernate-mapping> <class name="com.bjpowernode.hibernate.IdCard" t…
Hibernate映射:一对一关联 1.按照外键映射 2.按照主键映射 组件映射 下面以员工账号表和员工档案表(员工账号和档案表之间是一对一的关系)为例,介绍这两种映射关系,并使用这两种 映射方式分别完成以下持久化操作 (1)保存员工档案的同时分配给员工一个账号 (2)加载员工档案的同时加载账号信息 一:按照外键映射…
1.设计表结构 表结构对于基于外键的关联关系来说就少了外键的关联列,并且两张表共用同一个ID,表示一对一. 2.创建Person对象 3.创建IdCard对象 4.写hbm.xml文件 5.生成数据库表 生成sql语句 在这里,我们发现person表只有3列数据,而IdCard表只有2列数据,而person表与IdCard设置了外键关系,而这个关系就是IdCard表的主键id. . 6.新增数据 在新增数据时与单项一对一并没有什么改变.   生成sql语句  7.查询(通过工具查询数据)   i…
Person与Address关联:单向1->N,[无连接表的] (性能较低,不推荐使用!) Person.java package org.crazyit.app.domain; import java.util.HashSet;import java.util.Set; import javax.persistence.CascadeType;import javax.persistence.Column;import javax.persistence.Entity;import javax…
Person与Address关联:单向N->N,[有连接表的] #和单向1->N关联代码完全相同,控制关系的一端需要增加一个set类型的属性,被关联的持久化实例以集合形式存在. #N->N关联,需要使用@ManyToMany注解来修饰待代表关联实体的集合属性. #@JoinTable注解的inverseJoinColumn属性所指定的@JoinColumn中unique=false或去掉. Person.Java package org.crazyit.app.domain; impor…
Person与Address关联:单向1->N,[有连接表的] Person.java package org.crazyit.app.domain; import java.util.HashSet;import java.util.Set; import javax.persistence.CascadeType;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.G…
Person与Address关联:单向1->1,[有连接表的] (使用较少!) Person.java package org.crazyit.app.domain; import javax.persistence.CascadeType;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.…