(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是一种持久层框架,主要用于Java应用程序中的对象关系映射(ORM),它能够将面向对象的数据模型转换为数据库中的关系型数据模型,从而简化了数据访问和操作的复杂性。 ### 一对一关联 一对一关联是数据库...
在Hibernate中,配置多对多映射通常需要以下几个步骤: 1. **实体类定义**:为每个实体创建对应的Java类,并使用`@Entity`注解标记。 2. **关系属性**:在两个实体类中,分别定义一个表示多对多关系的集合属性,如`...
在本教程中,我们将深入探讨Hibernate中的一个关键概念——关系映射中的组件映射。Hibernate作为Java领域中广泛使用的对象关系映射(ORM)框架,它允许开发人员以面向对象的方式处理数据库操作,极大地简化了数据层...
以下是对hibernate中几种对象关系模型的详细解释: 1. **依赖**: 在Java中,依赖关系可以通过类的实例方法参数来体现,如示例中的`Person`类的`life`方法接受`Sun`对象作为参数。这种关系表明一个类的方法或行为...
通过本文的介绍,我们不仅了解了Hibernate关系映射的基本概念和常用标签,还深入探讨了几种常见的关系类型及其映射方法。理解并熟练掌握这些知识将极大地帮助开发人员利用Hibernate进行高效的数据持久化操作。在未来...
对象/关系映射是Hibernate的核心功能,主要涉及以下几个方面: 1. **映射声明**:在XML映射文件或注解中定义实体类与数据库表的对应关系,包括字段映射、主键生成策略、外键关联等。 2. **主键生成策略**:支持多种...
7. 组件映射:当一个类的属性是由其他几个类的属性组合而成时,可以使用组件映射。这部分内容将说明如何实现组件映射,以组合不同的属性到一个复合对象。 8. 继承映射:Hibernate支持不同类型的继承映射策略,包括...
在IT领域,尤其是在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本文将深入探讨 Hibernate 中的一对一映射关系,并以"hibernate 映射关系学习入门 一对一映射Eclipse...
在Hibernate中,每个Java类都可以映射到数据库的一个表,而这个映射关系是通过`hbm.xml`文件定义的。比如,我们有一个名为`User`的类,其对应的映射文件可能如下所示: ```xml <hibernate-mapping> ...
在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者使用面向对象的方式来操作数据库。本文将深入探讨Hibernate中的关联关系解除,包括一对多、多对一、一对一以及多对多关系的解除,...
在这个过程中,我们可以了解到以下几个重要的技术点: 1. Hibernate 是一种开源的持久层框架,提供了一个高效的数据访问机制,能够将 Java 对象与数据库表进行映射。 2. MyEclipse 是一个集成开发环境(IDE),提供...
Hibernate 注解映射是 Hibernate 框架中的一种映射方式,它使用 Java 注解来描述实体类和数据库表之间的映射关系,提高开发效率。 一、 环境搭建和基本映射 在使用 Hibernate 注解映射之前,需要添加相关的 jar 包...
标题与描述概述的知识点主要集中在Hibernate映射过程中可能遇到的各种异常情况,这涉及到数据库与对象模型之间的映射问题,以及Hibernate框架在处理这些映射时可能产生的错误。下面将对这些异常进行详细的解释和分析...
在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者能够用面向对象的方式处理数据。Hibernate 3.x 版本是其成熟且广泛使用的版本,提供了丰富的功能和优化,包括对象的...
映射文件中通常包含以下几个关键元素: 1. `<class>`:表示一个Java类,它的实例将映射到数据库的一个表。 2. `<table>`:指定该类对应的数据库表名。 3. `<id>`:定义主键字段,对应数据库表的主键列。 4. `...
在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者将数据库操作转换为面向对象的方式,从而简化了数据访问层的编程。在这个“hibernate学习入门之一对多实体映射源码”教程中,我们将...
Hibernate 的原理可以概括为以下几个步骤: * 对象模型的定义 * 对象关系映射的定义 * SQL 语句的生成 * 数据库交互的处理 Hibernate 创始人 Hibernate 的创始人是 Gavin King,他是一名澳大利亚的软件开发者。...
在使用Hibernate进行数据库操作时,有几个关键概念值得深入理解: 1. 实体(Entity):在Hibernate中,实体对应数据库中的表,通过@Entity注解声明。 2. 映射(Mapping):实体和数据库表之间的关系通过XML或注解...