`
wangtong40
  • 浏览: 253969 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate 多对多关联

    博客分类:
  • ORM
阅读更多
xml 代码
  1. CREATE TABLE GROUP   
  2. (   
  3.     GROUP_ID int not null ,   
  4.     NAME varchar(50) not null,   
  5.     PRIMARY KEY(GORUP_ID)   
  6. );   
  7.   
  8. CREATE TABLE ROLE(   
  9.     ROLE_ID int not null,   
  10.     NAME varchar(50) not null,   
  11.     PRIMARY KEY (ROLE_ID)   
  12. );   
  13.   
  14. CREATE TABLE GROUP_ROLE(   
  15.     GROUP_ID int not null,   
  16.     ROLE_ID int  not null,   
  17.     PRIMARY KEY (GROUP_ID,ROLE_ID),   
  18.     FOREIGN KEY (GROUP_ID) REFERENCES GROUP(GROUP_ID),   
  19.     FOREIGN KEY (ROLE_ID) REFERENECES ROLE(ROLE_ID)   
  20. )   
xml 代码
  1. <hibernate-mapping package="com.wangtong.hibernate.many2many.pojo">  
  2.     <class name="Group" table="GROUP">  
  3.         <id name="id" column="GROUP_ID" unsaved-value="0">  
  4.             <generator class="increment"/>  
  5.         </id>  
  6.         <property name="name" type="string"/>          
  7.         <set name="roles" table="GROUP_ROLE" cascade="save-update">                
  8.              <key column="group_id"/>  
  9.              <many-to-many class="Role" column="ROLE_ID"/>  
  10.        </set>  
  11.     </class>  
  12. </hibernate-mapping>  
java 代码
  1. public class Group {   
  2.     private int id;   
  3.     private String name;   
  4.     private Set roles = new HashSet();   
  5.     public int getId() {   
  6.         return id;   
  7.     }   
  8.     public void setId(int id) {   
  9.         this.id = id;   
  10.     }   
  11.     public String getName() {   
  12.         return name;   
  13.     }   
  14.     public void setName(String name) {   
  15.         this.name = name;   
  16.     }   
  17.     public Set getRoles() {   
  18.         return roles;   
  19.     }   
  20.     public void setRoles(Set roles) {   
  21.         this.roles = roles;   
  22.     }   
  23. }   
xml 代码
  1. <hibernate-mapping package="com.wangtong.hibernate.many2many.pojo">  
  2.     <class name="Role"  table="ROLE">  
  3.         <id name="id" column="role_id" unsaved-value="0">  
  4.             <generator class="increment"/>  
  5.         </id>  
  6.         <property name="name" type="string"/>          
  7.         <set name="groups" table="GROUP_ROLE" inverse="true" cascade="save-update">                
  8.         <key column="role_id"/>  
  9.         <many-to-many class="Group" column="GROUP_ID"/>  
  10.         </set>  
  11.     </class>  
  12. </hibernate-mapping>  
java 代码
  1. public class Role {   
  2.     private int id;   
  3.     private String name;   
  4.     private Set groups = new HashSet();   
  5.     public Set getGroups() {   
  6.         return groups;   
  7.     }   
  8.     public void setGroups(Set groups) {   
  9.         this.groups = groups;   
  10.     }   
  11.     public int getId() {   
  12.         return id;   
  13.     }   
  14.     public void setId(int id) {   
  15.         this.id = id;   
  16.     }   
  17.     public String getName() {   
  18.         return name;   
  19.     }   
  20.     public void setName(String name) {   
  21.         this.name = name;   
  22.     }   
  23. }   
分享到:
评论

相关推荐

    hibernate多对多关联映射

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

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

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

    Hibernate多对多关联关系demo

    在Java的持久化框架Hibernate中,多对多(Many-to-Many)关联关系是一种常见的实体间关系类型,它表示一个实体可以与多个其他实体相关联,反之亦然。本示例"Hibernate多对多关联关系demo"将深入探讨如何在实际开发中...

    Hibernate多对多关联添加及查询示例

    本示例主要关注的是Hibernate中的多对多关联映射及其添加与查询方法。 多对多关联是数据库设计中的一种常见关系类型,指的是两个实体之间可以存在多个对应关系。例如,在学生与课程的关系中,一个学生可以选修多门...

    hibernate多对多双向关联

    **标题解析:**“hibernate多对多双向关联” 在Java编程中,Hibernate是一个流行的ORM(对象关系映射)框架,它允许开发者用面向对象的方式处理数据库操作。"多对多双向关联"是Hibernate中一种关系映射类型,涉及两...

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

    在Java的持久化框架Hibernate中,多对多关联映射是一种常见的关系数据库模型映射方式。这种关联类型意味着一个实体可以与多个其他实体相关联,反之亦然。本篇文章将详细探讨双项关联的多对多映射,并通过具体代码...

    hibernate多对一单向关联关系实现源码

    在Java的持久化框架Hibernate中,多对一(ManyToOne)关联关系是一种常见的对象关系映射(ORM)场景。这种关系通常出现在一个实体类拥有多条与另一个实体类相关的记录,而另一个实体类可能只有一条对应的记录。例如...

    Spring+Hibernate 多对多关联映射---教师与学生表的级联增删改查

    本篇将深入探讨如何在Spring和Hibernate中实现多对多关联映射,并通过一个具体的教师与学生表的级联增删改查实例来阐述这一过程。 首先,多对多关联是数据库设计中的一种关系类型,表示一个实体可以与多个其他实体...

    hibernate关联映射详解

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

    hibernate多对一关联demo

    【标题】:“Hibernate多对一关联demo” 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作。本教程将详细解释如何在Hibernate中实现多对一的关联关系,以及如何通过一个实际的示例...

    Hibernate一对多使用非主键关联设置

    在Java的持久化框架Hibernate中,一对多关系是常见的实体关联类型,特别是在处理数据库中的表结构时。在标准的关系型数据库设计中,一对多关系意味着一个表中的记录可以与另一个表中的多个记录相关联。例如,一个...

    hibernate实现多对多关联关系源码

    在Java的持久化框架Hibernate中,多对多(Many-to-Many)关联关系是一种常见的实体间关系类型,它表示一个实体可以与多个其他实体相关联,反之亦然。本源码示例将深入探讨如何使用Hibernate来配置和管理这种复杂的...

    Hibernate一对一,一对多,多对多实例

    本实例将深入探讨Hibernate中的三种基本关联关系:一对一(One-to-One)、一对多(One-to-Many)以及多对多(Many-to-Many)的实现方式。 1. **一对一关联**: 一对一关联通常出现在两个实体之间存在唯一对应关系...

    hibernate一对多,多对一,一对多双向关联

    由于只给出了"hibernate_003"这个文件名,我们无法直接获取具体信息,但可以猜测这是一个系列教程的一部分,"003"可能是表示序列号,表示这是关于Hibernate关联关系的第三个主题或者第三部分。 **详细知识点:** 1...

    hibernate多对一关联关系

    在Java的持久化框架Hibernate中,"多对一"关联关系是一种常见的对象关系映射(ORM)设计,它表示一个实体(子项)可以与多个其他实体(父项)相关联,而每个父项可能被多个子项引用。在数据库层面,这通常对应于一个...

    Hibernate映射一对多关联关系

    ### Hibernate映射一对多关联关系 #### 知识点概览 - **概念解析**:一对多(One-to-Many)关联关系的概念及其在Hibernate中的实现方式。 - **域模型设计**:创建具有一个实体与多个实体关联的域模型。 - **关系...

    hibernate 多对多全注解(单向关联、双向关联)

    hibernate关联映射注解多对多单向关联、

Global site tag (gtag.js) - Google Analytics