`
leiweisoft
  • 浏览: 2214 次
  • 性别: Icon_minigender_1
  • 来自: 西安
最近访客 更多访客>>
社区版块
存档分类
最新评论

多对一关联映射

 
阅读更多

 

关联映射,将关联关系映射到数据库中,所谓的关联关系在对象模型中就是一个或多个引用。

多对一关联映射原理:在多的一端加入一个外键,指向一的一端。

在多的一端采用如下标签映射:

 

<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(六)多对一关联映射

    在本篇关于“Hibernate3.2(六)多对一关联映射”的主题中,我们将深入探讨在Java Persistence API(JPA)框架下,如何利用Hibernate实现多对一的关联映射。Hibernate作为JPA的一个实现,是Java开发中常用的ORM...

    hibernate多对一关联映射

    **标题:Hibernate多对一关联映射** 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者以面向对象的方式处理数据库操作。"多对一"关联映射是Hibernate中的一种常见关系类型,用于表示实体...

    hibernate多对多关联映射

    在Java的持久化框架Hibernate中,多对多关联映射是一种常见的关系数据库模型映射方式,用于处理两个实体之间存在多个实例互相关联的情况。本文将深入探讨Hibernate如何实现多对多关联映射,并通过实际例子解析相关...

    MyBatis框架的学习(五)——一对一关联映射和一对多关联映射

    在本篇关于MyBatis框架的学习中,我们将深入探讨一对一关联映射和一对多关联映射的概念、配置以及在实际开发中的应用。MyBatis是一个优秀的持久层框架,它允许开发者将SQL语句直接写在XML配置文件或者注解中,从而...

    MyBatis的一对一关联映射

    在实际的项目开发中,数据库中的表与表之间经常存在各种关联关系,比如一对一(One-to-One)、一对多(One-to-Many)和多对多(Many-to-Many)关系。本篇文章将重点讲解如何在 MyBatis 中实现一对一的关联映射。 一...

    hibernate知识复习三:关联映射:一对多/多对一

    本文将深入探讨Hibernate中的关联映射,特别是“一对多”和“多对一”的关系映射,这对于理解如何在Java应用程序中处理复杂的数据库交互至关重要。 一、Hibernate简介 Hibernate是Java平台上的一个开源ORM框架,它...

    Hibernate双向一对一关联映射(注解版)

    本主题聚焦于“Hibernate双向一对一关联映射”的注解实现,这是一种高级的数据库设计模式,用于处理两个实体之间一对一的关系。 在Hibernate中,一对一关联映射分为单向和双向。单向一对一映射通常涉及一个实体持有...

    Hibernate关联映射总结

    #### 四、多对一关联映射 多对一映射是上述一对多映射的逆向形式,即多个实体共享一个父实体。 ```java public class Student { private int id; private String name; @ManyToOne @JoinColumn(name = "class_...

    hibernate的关联映射

    关联映射主要包括四种类型:一对一(One-to-One)、一对多(One-to-Many)、多对一(Many-to-One)和多对多(Many-to-Many)。下面我们将逐一探讨这些关联映射的配置方法。 1. **一对一关联映射** - **主键关联**...

    hibernate关联映射详解

    包含《多对多双向关联映射》《多对一单向关联映射》《多对一双向关联映射》《一对多单向关联映射》等文档,并有图解及例子,非常适合新手学习,尤其是刚刚接触hibernate,对映射关系不清楚的。。。。

    hibernate多对多关联映射(单项关联)

    在Java的持久化框架Hibernate中,多对多关联映射是一种常见的关系模型,它用于处理两个实体类之间存在多个对应关系的情况。这篇博客"hibernate多对多关联映射(单项关联)"深入探讨了如何在Hibernate中实现这种映射...

    hibernate一对多关联映射学习小结

    在Hibernate中,一对多关联映射和多对一关联映射的区别在于维护的关系不同。多对一关联映射中,多的一端维护一的一端的关系,在加载多的一端时,可以将一的一端加载上来。一对多关联映射中,一的一端维护多的一端的...

    实现Mybatis框架中一对多关联映射的查询操作。

    在处理复杂的数据库关联关系时,比如一对一、一对多、多对一、多对多等,Mybatis提供了灵活的映射机制。本篇将详细讲解如何在Mybatis中实现一对多关联映射的查询操作。 首先,我们要明确一对多关联映射的基本概念。...

    MyBatis_关联映射之多对一_src.zip

    在MyBatis中,关联映射是实现对象关系映射(ORM)的重要手段,尤其是多对一的关系映射,这种关系在数据库设计中非常常见。例如,一个学生可以对应多个课程,但一门课程可能被多个学生选修,这就是典型的多对一关系。...

    Hibernate一对一主键关联映射(双向关联)

    在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是一种常见的关系数据库模型映射方式。这种关联通常发生在两个实体之间,且每个实体都只有一个对应的实例。本篇文章将详细探讨双向一对一主键关联映射...

    Hibernate 的关联映射

    "Hibernate的关联映射"是Hibernate中的核心概念之一,用于模拟数据库中的关系,包括一对一(One-to-One)、一对多(One-to-Many)、多对一(Many-to-One)和多对多(Many-to-Many)四种关系。现在,让我们详细探讨...

    Hibernate一对一主键关联映射(单向关联)

    在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是常见的关系映射方式之一,尤其在处理两个实体之间存在唯一对应关系时非常有用。本篇将重点讲解如何实现一对一主键关联映射的单向关联,并通过一个...

Global site tag (gtag.js) - Google Analytics