`

Hibernate入门BLOG[十二、Hibernate的一对多的inverse放弃维护关系,提升效率]

 
阅读更多

Inverse关系只有SET的无序集合用才可以。有序集合listarray都是不可以的。

Inverse放弃维护关系。

配置文件:

<!--一对多的对象模型关系、跟着发生update或者insert,不用再单独去insertemp对象,

cascade级联。-->

<setname="emps"cascade="save-update,delete"inverse="false">

<!--和多方的配置文件也就是emp的配置文件中设置的对应dept_id是一样的-->

<keycolumn="dept_id"></key>

<!--one-to-many指定多方是哪个表-->

<one-to-manyclass="Employee"/>

</set>

inverse="false"说明部门端维护关系。为true则不维护该关系。

维护关系:

在一个部门insert或者save操作的时候它有一个员工的set属性。如果这个部门有一千个员工那么将会有1000update或者insert语句。它会更新外键。这样会影响效率。所以一般在部门端、教师端、这种一对多的关系的时候我们一般放弃关系的维护设置inversetrue,这样会节省很多资源。

分享到:
评论

相关推荐

    hibernate入门

    Hibernate 支持多种对象关系映射,如一对一、一对多、多对一、多对多。例如,一个User可以有多个Order: ```xml &lt;!-- User.hbm.xml --&gt; &lt;set name="orders" inverse="true"&gt; &lt;!-- Order.hbm.xml --&gt; ``` ...

    hibernate之一对多配置demo

    一、Hibernate一对多关系 在现实世界中,一对多关系很常见,例如一个班级可以有多名学生。在数据库中,这对应于一个表(如班级表)有一条记录可以关联多条记录(如学生表)。在Hibernate中,我们通过配置XML文件来...

    Hibernate学习笔记和资料

    hibernate中一对一,一对多,多对多关系的配置,延迟加载,cascade,inverse hibernate查询方式概述,HQL查询,QBC查询,分页,结果集封装方式 ,高级查询 查询的优化,一级缓存,二级缓存,批量查询,注解方式

    hibernate入门级教程,零基础哟

    - **单向一对多关系**:一个父实体可以拥有多个子实体,但子实体不包含对父实体的引用。 - **双向一对多关系**:父实体和子实体都互相知道对方的存在。 - **多对多关联**:两个实体之间存在多对多的关系时,通常...

    Hibernate 简单 PPT 总结

    在Hibernate中,`inverse`属性是一个关键的概念,它用于定义一对多或多对一关系中的维护端。`inverse="true"`表示另一端负责维护关联关系,这在处理关联实体的保存和更新时具有重要意义。例如,如果你有一个学生类和...

    Hibernate 入门

    - **Set、List、Map映射**: 处理一对多、多对多关系,支持排序等功能。 - **对象状态与识别**: - 理解Hibernate中的对象生命周期(瞬态、持久化、游离状态)。 - 对象的标识符管理和相等性的判断。 - **实体...

    Hibernate入门

    - 实体自身与自身之间形成关联关系,例如`Project`实体可能与自身形成一对多的关系。 - 映射文件中可以通过设置`inverse`属性来指定哪一方负责关联关系的维护。 以上是关于Hibernate入门的基本知识点介绍,包括了...

    hibernate夏昕.pdf内容全面通俗易懂

    - 单向一对多关系: 只在一端维护关联。 - 双向一对多关系: 两端都维护关联。 - **多对多关联**: 多个实体之间通过中间表建立关联。 - **数据访问**: - **PO和VO**: - PO: 持久化对象,用于与数据库交互。 - VO...

    深入浅出Hibernate完整版

    文档还详细解释了如何处理各种类型的数据关联,包括一对一、一对多和多对多关系,以及如何有效地管理PO(Persistent Object)和VO(Value Object)。此外,还讨论了unsaved-value、Inverse和Cascade等概念,以及延迟...

    经典hibernate教程,从入门到精通

    8. **多对一、一对多、多对多关系映射**: - 明确如何配置关联的属性,如mappedBy、inverse、fetch等,理解它们在关系维护中的作用。 9. **延迟加载和立即加载**: - 延迟加载:默认行为,只有在真正使用到关联...

    Hibernate_DEV_GUIDE

    - **双向一对多关系**:除了父对象维护子对象集合外,每个子对象还维护着对父对象的引用。 - **多对多关联**:通过中间表来实现多个实体之间的关联。 #### 七、数据访问 - **PO和VO**:PO(Plain Object)即普通...

    Hibernate学习

    - **一对多,在一的一端维护关系的缺点**:可能导致性能问题,如N+1查询问题。 - **一对多单向数据加载**:演示如何加载一对多的数据。 #### 一对多关联映射双向(one-to-many) - **学生映射文件修改后的**:调整...

    Hibernate开发指南

    - **双向一对多关系**:两端都维护关联关系,通常使用inverse属性来指定哪一方负责更新关联关系。 - **多对多关联**:通常使用中间关联表来实现。 - **数据访问**: - **PO (Persistent Object)**:持久化对象,...

    Hibernate开发指南.pdf

    3. **数据关联**:Hibernate支持多种类型的数据关联,如一对一、一对多和多对多关系。这些关联可以通过不同的策略来实现,比如`inverse`和`cascade`。 4. **事务管理**:Hibernate提供了两种事务管理方式:基于...

    spring hibernate struts

    - **关联关系**:定义实体间的关联关系,如一对多、多对多等。 #### 2. Struts Struts框架为开发者提供了一个结构化的开发模型,使得MVC模式下的各个组件能够清晰地分离。 ##### 2.1 概述 Struts是一个基于...

    用spring、Hibernate、Struts组建轻量级架构

    Hibernate支持多种表关联操作,如一对一、一对多和多对多关系。 - **一对一关联**:通过`@OneToOne`或`@ManyToOne`注解定义。 - **一对多关联**:使用`@OneToMany`注解定义。 - **多对多关联**:通过`@ManyToMany`...

Global site tag (gtag.js) - Google Analytics