`

Hibernate中的几个映射关系

阅读更多
(1)hibernate属性:
   表示该列和做外键的时候是多对一的关系,一个机构上面职能有一个父机构

(2   一个机构可以有多个子机构,是一对多的关系
    inverse:表示把数据的维护交给被控方
    lazy:是否延迟加载

2.数据库中的几个关系
(1)one to one 意思是关系的任意一方确定了的情况下,另外一方就可以被确定,或者说要么不存在, 要么唯一。 例如在中国合法夫妻的关系就是一对一(这个比喻有点。。。) 

(2)many to one意思是从many这一方可以确定唯一的one方,例如父子关系,正常情况下儿子对父亲是many to one的 ,知道儿子则可以确定唯一的父亲如果一定要把性别建一个表的话,人和性别的关系的确就应该是many to one,你认为的一个人只有一个确定的性别,只能断定从另一方必然为one,而同一个性别的人有...多个,所以确定性别的另外一边是many,最后组合他们的关系就为manytoone.

(3)many to many 关系数据库中两个表之间的一种关系, 该关系中第一个表中的一个行可以与第二个表中的一个或多个行相关。第二个表中的一个行也可以与第一个表中的一个或多个行相关。要表示多对多关系,您必须创建第三个表,该表通常称为联接表,它将多对多关系划分为两个一对多关系。

3.hibernate几个映射的机制
   hibernate的映射其实就是内存中的一个引用和数据库表之间存储和加载的过程。

(1)多对一
         比如儿子类对父亲类就是多对一的关系,在hibernate中,多对一的实现其实是拥有引用的一方把引用的标识保存到自己的外键中。例子:内存里面有儿子这个类,儿子具有父亲这个属性,也就是拥有父亲这个引用 ,  在调用save的方法的时候,就是在儿子这张表里面加入了父亲这个引用的id。而在加载的时候就是pid匹配。

(2)一对多
      就是多对一个方向思考。在hibernate中,一对多的概念就是在引用的表中添加一个一个key指向自己。比如父亲拥有儿子这个集合,hibernate的工作就是让儿子的的pid指向自己。加载的时候就是在pid中匹配。

(3)多对多
    就是一个多对一和一个一对多的组合。

4.hibernate中的inverse
      inverse的意思就是自己本身不去维护数据库表。
     比如一个父亲在更新的时候,不会改变原来的儿子的属性。假如不用inverse的话,父亲类的必须要加载出原来在数据库中的数据才能更新,而有了inverse之后 .直接更新就可以,不会改变原来的set属性。 

分享到:
评论

相关推荐

    Hibernate 关联关系映射分类

    Hibernate是一种持久层框架,主要用于Java应用程序中的对象关系映射(ORM),它能够将面向对象的数据模型转换为数据库中的关系型数据模型,从而简化了数据访问和操作的复杂性。 ### 一对一关联 一对一关联是数据库...

    hibernate 映射关系学习入门 多对多实体映射

    在Hibernate中,配置多对多映射通常需要以下几个步骤: 1. **实体类定义**:为每个实体创建对应的Java类,并使用`@Entity`注解标记。 2. **关系属性**:在两个实体类中,分别定义一个表示多对多关系的集合属性,如`...

    Hibernate教程09_关系映射之组件映射

    在本教程中,我们将深入探讨Hibernate中的一个关键概念——关系映射中的组件映射。Hibernate作为Java领域中广泛使用的对象关系映射(ORM)框架,它允许开发人员以面向对象的方式处理数据库操作,极大地简化了数据层...

    hibernate中的对象关系模型

    以下是对hibernate中几种对象关系模型的详细解释: 1. **依赖**: 在Java中,依赖关系可以通过类的实例方法参数来体现,如示例中的`Person`类的`life`方法接受`Sun`对象作为参数。这种关系表明一个类的方法或行为...

    Hibernate关联映射总结

    在探讨Hibernate中的关联映射之前,我们需要先理解几个基本概念,这将有助于我们更好地理解和应用这些关联映射。 - **主键**(Primary Key):主键是用来唯一标识一条记录的关键字段。例如,在一个用户表中,用户ID...

    hibernate关系映射网址

    通过本文的介绍,我们不仅了解了Hibernate关系映射的基本概念和常用标签,还深入探讨了几种常见的关系类型及其映射方法。理解并熟练掌握这些知识将极大地帮助开发人员利用Hibernate进行高效的数据持久化操作。在未来...

    HIBERNATE - 符合Java习惯的关系数据库持久化

    对象/关系映射是Hibernate的核心功能,主要涉及以下几个方面: 1. **映射声明**:在XML映射文件或注解中定义实体类与数据库表的对应关系,包括字段映射、主键生成策略、外键关联等。 2. **主键生成策略**:支持多种...

    hibernate中文参考文档

    7. 组件映射:当一个类的属性是由其他几个类的属性组合而成时,可以使用组件映射。这部分内容将说明如何实现组件映射,以组合不同的属性到一个复合对象。 8. 继承映射:Hibernate支持不同类型的继承映射策略,包括...

    hibernate 映射关系学习入门 一对一映射

    在IT领域,尤其是在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本文将深入探讨 Hibernate 中的一对一映射关系,并以"hibernate 映射关系学习入门 一对一映射Eclipse...

    Hibernate XML配置表映射实例

    在Hibernate中,每个Java类都可以映射到数据库的一个表,而这个映射关系是通过`hbm.xml`文件定义的。比如,我们有一个名为`User`的类,其对应的映射文件可能如下所示: ```xml <hibernate-mapping> ...

    Hibernate 关联关系解除

    在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者使用面向对象的方式来操作数据库。本文将深入探讨Hibernate中的关联关系解除,包括一对多、多对一、一对一以及多对多关系的解除,...

    自动生成hibernate映射文件和实体类

    在这个过程中,我们可以了解到以下几个重要的技术点: 1. Hibernate 是一种开源的持久层框架,提供了一个高效的数据访问机制,能够将 Java 对象与数据库表进行映射。 2. MyEclipse 是一个集成开发环境(IDE),提供...

    Hibernate 注解映射

    Hibernate 注解映射是 Hibernate 框架中的一种映射方式,它使用 Java 注解来描述实体类和数据库表之间的映射关系,提高开发效率。 一、 环境搭建和基本映射 在使用 Hibernate 注解映射之前,需要添加相关的 jar 包...

    Hibernate映射导致的几个异常

    标题与描述概述的知识点主要集中在Hibernate映射过程中可能遇到的各种异常情况,这涉及到数据库与对象模型之间的映射问题,以及Hibernate框架在处理这些映射时可能产生的错误。下面将对这些异常进行详细的解释和分析...

    Hibernate3.x关联映射示例

    在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者能够用面向对象的方式处理数据。Hibernate 3.x 版本是其成熟且广泛使用的版本,提供了丰富的功能和优化,包括对象的...

    生成hibernate映射文件工具

    映射文件中通常包含以下几个关键元素: 1. `<class>`:表示一个Java类,它的实例将映射到数据库的一个表。 2. `<table>`:指定该类对应的数据库表名。 3. `<id>`:定义主键字段,对应数据库表的主键列。 4. `...

    hibernate学习入门一对多实体映射源码

    在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者将数据库操作转换为面向对象的方式,从而简化了数据访问层的编程。在这个“hibernate学习入门之一对多实体映射源码”教程中,我们将...

    Hibernate完整使用教程

    Hibernate 的原理可以概括为以下几个步骤: * 对象模型的定义 * 对象关系映射的定义 * SQL 语句的生成 * 数据库交互的处理 Hibernate 创始人 Hibernate 的创始人是 Gavin King,他是一名澳大利亚的软件开发者。...

    Hibernate中文文档+hibernate annotation +distribution

    在使用Hibernate进行数据库操作时,有几个关键概念值得深入理解: 1. 实体(Entity):在Hibernate中,实体对应数据库中的表,通过@Entity注解声明。 2. 映射(Mapping):实体和数据库表之间的关系通过XML或注解...

Global site tag (gtag.js) - Google Analytics