映射关系模板--一对一, 一对多

一对一:

<!-- {1}属性, 本类与{2}的一对一, 采用基于外键的一对一映射, 本方有外键 --><many-to-one name="{1}" class="{2}" column="{1}Id" unique="true"></many-to-one>

 

多对一:

<!--{1}属性, 本类与{2}的多对一 -->
<many-to-one name="1" class="2" column="{1}Id"></many-to-one>

一对多, 与上面对应:

<!-- {3}属性, 本类与{4}的一对多 --><set name="{3}">
	<key column="{1}Id"></key>      <one-to-many class="{4}"/> </set>

多对多

<!-- roles属性, 本User类与Role的  多对多 -->
<set name="roles" table="itcast_user_role" lazy="false">
	<key column="userId"></key>
	<many-to-many class="Role" column="roleId"></many-to-many>
</set>

<!-- users属性, 本Role类与User的 多对多 -->
<set name="users" table="itcast_user_role">
	<key column="roleId"></key>
	<many-to-many class="User" column="userId"></many-to-many>
</set>

  

时间: 2024-10-07 05:07:49

映射关系模板--一对一, 一对多的相关文章

Hibernate映射关系:一对一、一对多和多对多

在 Hibernate 中,同样可以对多张存在关联关系的表进行操作,但需要在映射文件中,将对象的关联关系与数据库表的外键关联进行映射.本章将对 Hibernate 的关联关系映射进行详细讲解. 在关系型数据库中,多表之间存在着三种关联关系,分别为一对一.一对多和多对多,如图 1 所示 图 1  关系型数据库中多表之间的三种关联关系 这三种关联关系的具体说明如下. 一对一:在任意一方引入对方主键作为外键. 一对多:在“多”的一方,添加“一”的一方的主键作为外键. 多对多:产生中间关系表,引入两张表

MyBatis --- 映射关系【一对一、一对多、多对多】,懒加载机制

映射(多.一)对一的关联关系 1)若只想得到关联对象的id属性,不用关联数据表 2)若希望得到关联对象的其他属性,要关联其数据表 举例: 员工与部门的映射关系为:多对一 1.创建表 员工表 确定其外键是部门表的 id DROP TABLE IF EXISTS emp; CREATE TABLE emp( id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, emp_name VARCHAR(255) DEFAULT NULL, gender CHAR(1

Hibernate对象映射关系:一对一

一:项目截图 二:业务代码 package com.cloud.domain; import java.util.Date; public class IdCard { private Integer id; private Date validateDte; private Person person; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Dat

Hibernate ORM框架——续第二章:Hibernate映射关系:单向关联

一:课堂笔记 **********单表映射*************** 1.只有一个实体类映射一个表 2.有一个实体类+ 一个或者多个值类型,合在一起 映射为一个表 **********多表映射*************** 定义:类有多个映射为多个表 **********数据库层面,如ORM无关************** 2个表之间要建立关系?该如何做?有多少种方法 假定有2个表,分别为A,B 3种关系 a)主键关联:A表的主键对应B表的主键,(一对一的关系) 在数据库种如何建立这种关系?

【数据库】三种关系:一对一,一对多,多对多。

一对一:比如一个学生对应一个身份证号.学生档案: 一对多:一个班可以有很多学生,但是一个学生只能在一个班: 多对多:一个班可以有很多学生,学生也可以有很多课程: 一对多关系处理: 我们以学生和班级之间的关系来说明一对多的关系处理方法.假设现有基本表班级表(班级号,备注信息,--).学生表(学号,姓名), 方法一:在学生表中新增字段(班级号),该字段作为学生表的外键与班级表中的班级号关联.每一个学生实体在班级号字段的值,表示该学生属于的班级. 方法二:新增一个关系表,用来表示学生与班级的属于关系,

Hibernate4.x之映射关系--单向一对多

在领域模型中,类与类之间最普遍的关系就是关联关系在UML中,关联是有方向的 以Customer和Order为例:一个用户能发出多个订单,而一个订单只能属于一个客户.从Order到Customer的关联是多对一关联:而从Customer到Order是一对多关联 单向n-1 单向n-1关联只需从n的一端可以访问到1的一端 域模型:从Order到Customer的多对一单向关联需要在Order类中定义一个Customer属性,而在Customer类中无需定义存放Order对象的集合属性 关系数据模型:

hibernate笔记--基于主键的单(双)向的一对一映射关系

上一节介绍的基于外键的一对一映射关系中,在Person表中有一个外键列idCard_id,对应的idCard表的主键id,至于基于主键的一对一映射关系,就是指Person表中抛弃了idcard_id这个外键列,而与idCard表共用一个主键,或者说是其外键为主键的表结构,这种基于主键的双向一对一映射关系应该这样配置: 新建一个IdCard实体类: public class IdCard { private int id; private String code; private Person p

Hibernate中的一对一映射关系

Hibernate中的一对一映射关系有两种实现方法(一对一关系:例如一个department只能有一个manager) I使用外键的方式 步骤:1在一对一关联的持久化类中互相添加对方对象属性,   例如在department中添加private manager manager属性:   department代码如下: package com.atguigu.hibernate.one2one.foreign; public class Department { private Integer d

hibernate 表关系映射详解之一对多

一对多 传统模式:jdbc连接数据库的传统模式下,是通过主键连接外键实现一对多关系的映射, 其数据库中表的对应关系是在多方加入一方的主键,而后形成外键连接. Hibernate:引入hibernate框架后,通过类的形式来表示一对多的关系. 举例:订单与订单详细的关系,一个订单包含多个商品,多个商品属于一个订单,两者的关系是一对多的关系. 实现原理: 面向对象实现------ 在order类中加入item类的set集合 ,表示在订单类中包含有多个订单详细(集合表示). 层次结构: 步骤一:编写实