关联映射,将关联关系映射到数据库中,所谓的关联关系在对象模型中就是一个或多个引用。
多对一关联映射原理:在多的一端加入一个外键,指向一的一端。
在多的一端采用如下标签映射:
<many-to-one name="group" column="groupID"/>
Group.java |
publicclass Group { privateintid; private String name; } |
User.java |
publicclass User { privateintid; private String name; private Group group; }
|
Group.hbm.xml |
<hibernate-mapping> <class name="com.xatrans.test.hibernate.vo.Group" table="tbl_group"> <id name="id" length="10"> <generator class="native"/> </id> <property name="name" length="30"/> </class> </hibernate-mapping> |
User.hbm.xml |
<hibernate-mapping> <class name="com.xatrans.test.hibernate.vo.User" table="tbl_user"> <id name="id" length="10"> <generator class="native"/> </id> <property name="name" length="30"/> <many-to-one name="group" column="groupID"/> </class> </hibernate-mapping> |
Test.java |
publicclass Test extends TestCase {
publicvoid testAdd() { Session session = null; try { session = HibernateUtils.getSession(); session.getTransaction().begin();
Group group = new Group(); group.setName("xatrans"); session.save(group);
User user = new User(); user.setName("leiwei"); user.setGroup(group);
User user2 = new User(); user2.setName("ghostboy"); user2.setGroup(group);
session.save(user); session.save(user2);
session.getTransaction().commit(); } catch (Exception e) { e.printStackTrace(); session.getTransaction().rollback(); } finally { HibernateUtils.closeSession(session); } } } |
* 重要属性cascade(级联)
级联的意思是指两个对象之间的操作联系关系,对一个对象执行了操作之后,对其指定的级联对象也都要需要执行相同的作品。
取值:all,none,save-update,delete
all - 在所有情况下都执行级联操作
none - 代表在所有情况下都不执行级联操作
save-update –保存和更新时执行级联操作
delete-删除时执行级联操作
<many-to-one name="group" column="groupID" cascade="save-update"/>
级联是对象之间的连锁操作,只影响添加、修改、删除。
相关推荐
在本篇关于“Hibernate3.2(六)多对一关联映射”的主题中,我们将深入探讨在Java Persistence API(JPA)框架下,如何利用Hibernate实现多对一的关联映射。Hibernate作为JPA的一个实现,是Java开发中常用的ORM...
**标题:Hibernate多对一关联映射** 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者以面向对象的方式处理数据库操作。"多对一"关联映射是Hibernate中的一种常见关系类型,用于表示实体...
在Java的持久化框架Hibernate中,多对多关联映射是一种常见的关系数据库模型映射方式,用于处理两个实体之间存在多个实例互相关联的情况。本文将深入探讨Hibernate如何实现多对多关联映射,并通过实际例子解析相关...
在本篇关于MyBatis框架的学习中,我们将深入探讨一对一关联映射和一对多关联映射的概念、配置以及在实际开发中的应用。MyBatis是一个优秀的持久层框架,它允许开发者将SQL语句直接写在XML配置文件或者注解中,从而...
在实际的项目开发中,数据库中的表与表之间经常存在各种关联关系,比如一对一(One-to-One)、一对多(One-to-Many)和多对多(Many-to-Many)关系。本篇文章将重点讲解如何在 MyBatis 中实现一对一的关联映射。 一...
本文将深入探讨Hibernate中的关联映射,特别是“一对多”和“多对一”的关系映射,这对于理解如何在Java应用程序中处理复杂的数据库交互至关重要。 一、Hibernate简介 Hibernate是Java平台上的一个开源ORM框架,它...
本主题聚焦于“Hibernate双向一对一关联映射”的注解实现,这是一种高级的数据库设计模式,用于处理两个实体之间一对一的关系。 在Hibernate中,一对一关联映射分为单向和双向。单向一对一映射通常涉及一个实体持有...
#### 四、多对一关联映射 多对一映射是上述一对多映射的逆向形式,即多个实体共享一个父实体。 ```java public class Student { private int id; private String name; @ManyToOne @JoinColumn(name = "class_...
关联映射主要包括四种类型:一对一(One-to-One)、一对多(One-to-Many)、多对一(Many-to-One)和多对多(Many-to-Many)。下面我们将逐一探讨这些关联映射的配置方法。 1. **一对一关联映射** - **主键关联**...
包含《多对多双向关联映射》《多对一单向关联映射》《多对一双向关联映射》《一对多单向关联映射》等文档,并有图解及例子,非常适合新手学习,尤其是刚刚接触hibernate,对映射关系不清楚的。。。。
在Java的持久化框架Hibernate中,多对多关联映射是一种常见的关系模型,它用于处理两个实体类之间存在多个对应关系的情况。这篇博客"hibernate多对多关联映射(单项关联)"深入探讨了如何在Hibernate中实现这种映射...
在Hibernate中,一对多关联映射和多对一关联映射的区别在于维护的关系不同。多对一关联映射中,多的一端维护一的一端的关系,在加载多的一端时,可以将一的一端加载上来。一对多关联映射中,一的一端维护多的一端的...
在处理复杂的数据库关联关系时,比如一对一、一对多、多对一、多对多等,Mybatis提供了灵活的映射机制。本篇将详细讲解如何在Mybatis中实现一对多关联映射的查询操作。 首先,我们要明确一对多关联映射的基本概念。...
在MyBatis中,关联映射是实现对象关系映射(ORM)的重要手段,尤其是多对一的关系映射,这种关系在数据库设计中非常常见。例如,一个学生可以对应多个课程,但一门课程可能被多个学生选修,这就是典型的多对一关系。...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是一种常见的关系数据库模型映射方式。这种关联通常发生在两个实体之间,且每个实体都只有一个对应的实例。本篇文章将详细探讨双向一对一主键关联映射...
"Hibernate的关联映射"是Hibernate中的核心概念之一,用于模拟数据库中的关系,包括一对一(One-to-One)、一对多(One-to-Many)、多对一(Many-to-One)和多对多(Many-to-Many)四种关系。现在,让我们详细探讨...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是常见的关系映射方式之一,尤其在处理两个实体之间存在唯一对应关系时非常有用。本篇将重点讲解如何实现一对一主键关联映射的单向关联,并通过一个...