<o:p>比较方面 </o:p> | <o:p>每个具体类一张表 </o:p> | <o:p>每个分层结构一张表 </o:p> | <o:p> 每个子类一张表</o:p> |
<o:p> 建立关系模型原则</o:p> | <o:p> 每个具体类对应一张表,有多少具体类就需要建立多少个独立的表</o:p> | <o:p> 描述一个继承关系只用一张表,也就是说子类所使用的表与父类相同</o:p> | <o:p> 每个子类使用一张表,但这些子类所对应的表都关联到基类所对应的表中</o:p> |
<o:p> 关系模型的优缺点</o:p> | <o:p>这种设计方式符合关系模型的设计原则,但有表中存在重复字段的问题 </o:p> | <o:p> 缺点有二:首先表中引入的区分子类的字段,也就是包括了描述其他字段的字段。其次,如果某个子类的某个属性不能为空,那么在数据库一级不能设置该字段not null(非空)</o:p> | <o:p> 这种设计方式完全符合关系模型的设计原则,且不存在冗余</o:p> |
<o:p> 可维护性</o:p> | <o:p>如果需要对基类进行修改,则需要对基类以及该类的子类所对应的所有表都进行修改 </o:p> | <o:p> 维护起来方便,只需要修改一个表</o:p> | <o:p> 维护起来比较方便,对每个类的修改只需要修改其所对应的表</o:p> |
<o:p> 灵活性</o:p> | <o:p> 映射的灵活性很大,子类可以包括基类属性在内的每一个属性进行单独配置</o:p> | <o:p> 灵活性差,表中冗余字段会随着子类的增多而越来越多</o:p> | <o:p> 灵活性很好,完全是参照对象继承的方式进行配置</o:p> |
<o:p> 查询性能</o:p> | <o:p> 对于子类的查询只需要访问单独的表,对父类查询怎需要检索所有的表</o:p> | <o:p> 在任何情况下,都只需处理一个表</o:p> | <o:p> 对于父类的查询需要使用左外链接,对于子类查询需要使用内链接</o:p> |
<o:p> 维护性能</o:p> | <o:p> 对于单个对象持久话操作只需要处理一个表</o:p> | <o:p>对于单个对象的持久话操作只需要处理一个表 </o:p> | <o:p> 对于子类的持久话至少要处理两个表</o:p> |
<o:p> </o:p> | <o:p> </o:p> | <o:p> </o:p> | <o:p> </o:p> |
以上三种映射代码,在本blog的经验技巧之Hibernate中均有详细表述,请批评指正
分享到:
相关推荐
本主题将深入探讨"Hibernate继承映射+C3P0代码"的相关知识点。 首先,让我们理解Hibernate的继承映射。在Java中,我们可以创建一个基类,然后派生出多个子类,这种设计模式在数据库中也可以被映射出来。Hibernate...
第三种映射方式是**类表映射**(Class-Table Inheritance Mapping),其中继承关系树的每个类(包括抽象类)都有其对应的表。这需要使用外键来建立类之间的关系。 ##### 14.3.1 创建映射文件 `Employee`类的映射文件...
总之,单一表继承策略是一种简单且直观的Hibernate继承映射方式,适合类继承层次结构不深且子类数量较少的情况。但在大型项目或复杂的类继承结构中,可能需要考虑其他策略,如`JOINED`或`TABLE_PER_CLASS`。理解并...
在Java世界中,ORM(对象关系映射)框架如Hibernate极大地简化了数据库操作。本教程主要探讨的是Hibernate中的“继承映射...学习并实践这些例子,有助于巩固对Hibernate继承映射的理解,并提升在实际项目中的应用能力。
《Hibernate继承映射详解》 Hibernate,作为Java领域中的一款著名对象关系映射(ORM)框架,极大地简化了数据库操作。在实际项目中,我们常常会遇到类的继承关系,而Hibernate提供了强大的支持来处理这种继承关系的...
JOINED策略是Hibernate实现继承映射的一种方式,它将每个继承层次的类映射到单独的表中。 1. **继承映射的基础**: - Hibernate提供了四种继承映射策略:`SINGLE_TABLE`、`JOINED`、`TABLE_PER_CLASS` 和 `MAPPED_...
Hibernate的继承映射 --每个继承层次一张表 -- 每个具体类一张表 -- 每个类一张表
本文将深入探讨Hibernate如何处理继承多态映射关系,主要通过三种不同的策略来实现这一目标。 #### 继承多态的概念与背景 在面向对象编程中,继承允许子类继承父类的属性和方法,从而实现代码复用和功能扩展。而...
《Hibernate继承映射详解》 在Java开发中,对象关系映射(ORM)框架如Hibernate大大简化了数据库操作。Hibernate不仅提供了对基本数据类型的映射,还支持复杂的数据结构,如继承关系的映射。本篇文章将深入探讨...
本文档主要聚焦于Hibernate框架下继承关系的映射,通过三种不同的策略——隐式继承映射、单表映射和关联表映射,来实现类的继承结构在数据库中的映射。 ### 隐式继承映射 #### 定义与配置 隐式继承映射也称为“表...
针对hibernate的继承映射部分做了几个测试的例子,更加直观的阐述了继承映射的几种方式以及对应的表结构方式,文件被分割成3部分 http://download.csdn.net/source/259075 http://download.csdn.net/source/259072 ...
总结来说,Hibernate的继承映射策略提供了灵活的方法来处理对象模型与数据库模型之间的关系,开发者可以根据项目的特性和需求选择最适合的映射方式。在实现时,需要确保配置文件(如hibernate.cfg.xml)的正确设置,...
**标题:“Hibernate继承映射(Annotation)详解”** 在Java持久化框架Hibernate中,继承映射是一种关键特性,它允许开发者将对象模型的继承结构映射到数据库的表结构。在使用注解的方式进行配置时,这个过程变得更加...
针对hibernate的继承映射部分做了几个测试的例子,更加直观的阐述了继承映射的几种方式以及对应的表结构方式,文件被分割成3部分 http://download.csdn.net/source/259075 http://download.csdn.net/source/259072 ...
在本教程中,我们将深入探讨Hibernate中的继承映射策略,特别是"Table Per Class"策略,这是Java对象模型到关系数据库映射的一种方法。在Hibernate框架中,继承是通过ORM(对象关系映射)来实现的,它允许我们将复杂...
这种方式也被称为单表继承或多表继承,是Hibernate支持的四种继承映射策略之一。了解并熟练掌握这种映射模式对于提升Java开发效率和代码维护性至关重要。 在传统的面向对象编程中,类可以有继承关系,但在关系...