`
eason_chen
  • 浏览: 15857 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Hibernate配置多对多级联删除

    博客分类:
  • Java
阅读更多
Hibernate实现多对多关系映射有两种方法:
1.通过配置两个一对多来实现多对多,既三张数据表,三个实体,同时配置<component>组件模块,唯一缺点是要同时实现这个外键中间表的增删查改功能.
2.通过配置双方的<set>模块来实现,同时两个实体的bo对象都有对方的Set集合,而inverse必须设置主控方为false,被控方为inverse=true,如果双方都为true(即都为被控方)那就没人来维护关系,那么更新/删除数据时无论哪一方都不会去更新/删除中间表的数据...通过Hibernate配置后已经可以实现主控方删除时能删除本身数据和中间表数据,而被控方只能删除本身表的数据,中间表的数据仍然存在....要想实现被控方删除时同时删除中间表数据,需要去数据库中设置外键中间表的关联关系为delete cascade就可以了..

以下为hibernate配置:
User:
<set name="roles" table="userrole" inverse="false">     
      <key column="username"/>    
      <many-to-many class="com.incesoft.ui.bo.Role" column="id" />  
</set>

Role:
<set name="users" table="userrole" inverse="true">     
      <key column="id"/>    
      <many-to-many class="com.incesoft.ui.bo.User" column="username" />  
</set>

分享到:
评论

相关推荐

    hibernate多对多关联映射

    本文将深入探讨Hibernate如何实现多对多关联映射,并通过实际例子解析相关配置和操作。 一、多对多关联概述 在数据库设计中,多对多关联表示两个表之间的关系,如学生和课程的关系,一个学生可以选修多门课程,而...

    Hibernate 一对多、多对一、级联、加载、反转

    在Java持久化框架Hibernate中,一对多(One-to-Many)、多对一(Many-to-One)、级联(Cascading)、加载(Loading)和反转(Inversing)是关系映射的重要概念,它们对于理解如何在数据库和对象之间有效地管理关联至...

    hibernate 级联(cascade和inverse)一对多

    使用JUnit进行测试是验证Hibernate配置和功能的一种常见方法。你可以创建测试类,模拟数据的增删改查操作,然后检查数据库中的记录是否符合预期。例如,你可以创建一个父实体,添加一些子实体,并设置级联操作为`...

    struts2 hibernate 实现无限级联 树形分类

    总结起来,这个项目通过Struts2和Hibernate框架,实现了对无限级联分类的增删改查操作,其中涉及到数据库设计、ORM映射、MVC架构的运用以及递归算法在视图层的实现。这种无限级联树形分类结构在许多实际应用场景中都...

    Nhibernate一对多级联保存_双向映射[归类].pdf

    在Nhibernate中,一对多关系是一种常见的对象关系映射(ORM)配置,它允许一个父对象(如`Order`)与多个子对象(如`OrderDetail`)相关联。在这个例子中,`Order`类代表一个订单,而`OrderDetail`类表示订单中的...

    深入浅出Hibernate.pdf

    3. **缓存机制**:为了提高性能,Hibernate提供了多级缓存机制,包括一级缓存和二级缓存。 4. **事务管理**:Hibernate支持本地事务和JTA全局事务,可以轻松地管理事务边界。 5. **查询语言**:Hibernate提供了一种...

    Hibernate 体系结构与工作原理.txt

    - Hibernate 采用多级缓存策略来提高性能,主要包括一级缓存和二级缓存。 - **一级缓存**:自动开启,每个 `Session` 对应一个一级缓存,用于存储当前 `Session` 中的所有对象状态。 - **二级缓存**:需显式配置...

    Hibernate实战(第2版).pdf

    4. **缓存机制**:为了提高性能,Hibernate实现了多级缓存,包括一级缓存和二级缓存。 5. **可扩展性**:Hibernate允许开发人员通过实现特定接口或扩展某些类来定制行为。 6. **数据库无关性**:Hibernate支持多种...

    孙卫琴.精通Hibernate(上)

    为了提高数据访问效率,Hibernate采用了多级缓存机制,包括一级缓存(session级别的缓存)和二级缓存(session factory级别的缓存)。合理配置缓存可以显著提升应用程序性能。 ### 实践案例 假设我们有一个简单的...

    深入浅出hibernate

    5. **缓存机制:**为了提高性能,Hibernate提供了多级缓存机制,包括一级缓存(由Hibernate自动管理)和二级缓存(可配置)。 #### 核心API详解 - **SessionFactory:**SessionFactory是线程安全的,它是创建...

    网上商城 strut+hibernate

    - **商品展示**:展示商品列表、详情,可能涉及到多级分类,需要使用Struts的分页和缓存机制,Hibernate查询商品信息。 - **购物车**:实现商品添加、删除、修改数量等功能,涉及到商品、订单和购物车实体间的复杂...

    Hibernate性能优化

    Hibernate提供了多级缓存机制,合理使用可以大幅提高数据访问效率。 - 一级缓存:Session级别的缓存,自动管理,无需手动配置; - 二级缓存:SessionFactory级别的缓存,需要手动配置,可以有效减少数据库访问频率。...

    用Struts+hibernate+SQLServer2000写的级联下拉框程序

    在这个项目中,Hibernate用于管理数据库操作,如查询、插入、更新和删除数据。级联下拉框的数据源通常来自数据库,Hibernate可以便捷地将这些数据映射到Java对象,便于在应用程序中使用。 3. **SQLServer2000**:这...

    java_jsp项目源码_项目申报系统(Struts2+Spring+Hibernate++Mysql5).rar

    2. 项目审批:具有审批权限的用户可对项目进行审批,支持多级审批,确保项目申报的合规性和准确性。 3. 项目管理:提供项目查询、修改、删除等功能,方便用户随时查看项目状态和详细信息。 4. 预算管理:对项目的...

    zxframe的demo

    zxframe的demo ZxFrame为JAVA框架-支持JPA,多级缓存,读写分离,分库分表;支持通用分布式锁;...封装本地和远程任意缓存存储,使用极其简单,支持对缓存组删除 --&gt;zxframe.cache.mgr.CacheManager

    基于ssh的个人空间项目

    多级评论功能需要设计合理的数据结构来存储评论树形结构,如使用自引用的一对多关系。Hibernate可以轻松处理这种关系。同时,Struts2和Spring协作实现评论的添加、删除、显示等功能,支持多级嵌套和分页显示。 7. ...

    基于jsp的新闻网系统源代码

    2. 新闻发布模块:管理员可以添加、编辑和删除新闻,支持分类管理和多级分类。 3. 新闻展示模块:根据日期、类别等条件展示新闻,用户可以浏览和搜索新闻。 4. 评论模块:用户可以对新闻进行评论,管理员可以审核和...

    jquery easy ui+ssh 增删改查例子

    在IT行业中,jQuery EasyUI和SSH(Struts2、Hibernate、Spring)是两种常见的Web开发技术,它们分别处理用户界面和后端业务逻辑。这里,我们深入探讨一下使用jQuery EasyUI与SSH框架进行数据操作(增删改查)的基础...

    ehcache-3.8.1.zip

    - `ehcache-multi.xsd`:可能用于定义多级缓存配置,允许用户根据需求设置不同级别的缓存策略。 3. **缓存策略**:Ehcache支持多种缓存策略,如LRU(Least Recently Used,最近最少使用)、LFU(Least Frequently ...

    ssh开发博客系统

    通过配置Hibernate的映射文件,可以将Java对象与数据库表一一对应,简化数据访问层的开发工作。 博客系统的功能实现包括: 1. 用户注册与登录:用户可以创建账号,通过邮箱验证或密码找回功能确保账户安全。登录后...

Global site tag (gtag.js) - Google Analytics