每棵继承树映射成一张表 一、理解如何映射 因为类继承树肯定是对应多个类,要把多个类的信息存放在一张表中,必须有某种机制来区分哪些记录是属于哪个类的。这种机制就是,在表中添加一个字段,用这个字段的值来进行区分。用hibernate实现这种策略的时候,有如下步骤: 1、父类用普通的标签定义 2、在父类中定义一个discriminator,即指定这个区分的字段的名称和类型。如: 3、子类使用标签定义,在定义subclass的时候,需要注意如下几点: (1)Subclass标签的name属性是子类的全路径名 (2)在Subclass标签中,用discriminator-value属性来标明本子类discriminator字段(用来区分不同类的字段)的值Subclass标签,既可以被class标签所包含(这种包含关系正是表明了类之间的继承关系),也可以与class标签平行。 当subclass标签的定义与class标签平行的时候,需要在subclass标签中,添加extends属性,里面的值是父类的全路径名称。子类的其它属性,像普通类一样,定义在subclass标签的内部。二、理解如何存储 存储的时候hibernate会自动将鉴别字段值插入到数据库中,在加载数据的时候,hibernate能根据这个鉴别值正确的加载对象
分享到:
相关推荐
本篇将详细介绍Hibernate继承映射的第一种策略——每棵类继承树对应一张表,即单一表继承策略。 ### 单一表继承策略 在单一表继承策略中,所有类层次结构中的实例都存储在同一张数据库表中。这种策略通过在表中...
**Hibernate继承策略** 在 Hibernate 中,为了处理对象模型中的继承关系,提供了以下几种继承策略: 1. **单表继承(Single Table Inheritance)**:所有子类共享同一张数据库表,使用一个标识字段来区分不同的...
在Hibernate中,当一个类继承体系映射到数据库时,有几种策略可以采用。其中一种是单表继承策略,即"整个继承树映射到一张表"。这种策略意味着所有子类的对象数据都将存储在同一个数据库表中,通过一个特定的字段来...
本文将深入探讨Hibernate ORM中的一个特定概念——继承关联关系的“union-subclass”策略。这个策略涉及到如何在面向对象的设计中处理类的继承关系,并将其映射到数据库中。 首先,我们来理解继承关联关系。在面向...
总结:本文详细介绍了Hibernate的两种主要继承映射策略——单表继承和联合继承,并通过一个具体的Java代码示例展示了如何在项目中实现它们。理解并灵活运用这些策略,可以帮助我们更高效地处理对象关系映射,提升...
本文档主要聚焦于Hibernate框架下继承关系的映射,通过三种不同的策略——隐式继承映射、单表映射和关联表映射,来实现类的继承结构在数据库中的映射。 ### 隐式继承映射 #### 定义与配置 隐式继承映射也称为“表...
标题中的“15 继承(二)(每个子类扩展的属性单独保存在一张表中)”指的是在数据库设计中,特别是在使用对象关系映射(ORM)框架如Hibernate时,处理继承关系的一种策略——单表继承(Single Table Inheritance,STI)...
本文将深入探讨“Hibernate之实体层次设计”,并基于提供的三个文件名称——`TablePerClassHierarchyTest.java`、`TablePerConcreteClassTest.java`和`TablePerSubclassTest.java`,来讨论Hibernate中的三种继承策略...
继承映射是Hibernate提供的一种处理类继承关系的技术,它允许我们将一个类的继承结构映射到数据库的表结构中。在Java中,类的继承可以表现为单继承或多继承,而在关系数据库中,表的关联通常通过外键实现,这与类的...
懒加载是Hibernate优化性能的一种策略,它延迟加载关联的对象,直到真正需要时才执行数据库查询。缓存机制可以提高数据访问速度,减少数据库负载,包括一级缓存(Session级)和二级缓存(SessionFactory级)。性能...
- **Hibernate教程**: 包括第一部分——第一个Hibernate应用程序,第二部分——映射关联,第三部分——EventManager Web应用程序。每部分都提供了详细的步骤和代码示例,让开发者能够通过实践来学习Hibernate的使用...
- **继承映射**: 支持单表、联合表等多种继承映射模式,适用于具有层次结构的数据模型。 #### 五、高级特性与最佳实践 - **缓存管理**: Hibernate支持一级缓存和二级缓存,合理利用缓存可以显著提升应用性能。 - *...
文档分析了三种常见的继承映射策略——单表继承、类表继承和子类继承,并讨论了它们的适用场景和限制。 ### 与对象共事 这一部分涵盖了Hibernate中对象的生命周期管理,包括如何使对象持久化、装载对象、查询、...
Hibernate支持单表继承、具体表继承和类表继承等多种继承策略。 四、持久化对象的状态和生命周期 Hibernate管理的对象有四种状态:瞬时态、持久态、托管态和脱管态。理解这些状态对于正确处理对象的保存、更新和...
- **实现NamingStrategy**:定义命名策略以定制Hibernate生成的SQL语句中的表名和字段名。 - **XML配置文件**:解释如何使用XML文件来配置Hibernate。 - **J2EE应用程序服务器的集成**:介绍Hibernate与J2EE应用程序...
3. **对象关系映射**:深入讲解Hibernate的核心——对象关系映射(ORM),包括实体类的设计、属性注解、主键生成策略、关联映射(一对一、一对多、多对一、多对多)等,使开发者理解如何将Java对象与数据库表进行...
- **定义**:ORM 技术是一种将面向对象编程语言中使用的对象与关系型数据库中的表进行转换的技术。 - **作用**: - 减少开发人员手动编写 SQL 代码的需求。 - 提供更高级别的抽象,简化数据库操作。 - 增强了代码...
8. **继承映射**:探讨了类继承关系在数据库中的映射,如单表继承、联合继承和子类表继承。 9. **事件和监听器**:Hibernate 允许开发者通过监听器机制来拦截对象的生命周期事件,进行自定义处理。 10. **类型系统...
Hibernate是一个开源的对象关系映射(Object Relational Mapping,简称ORM)框架,它为Java应用提供了一种将对象模型与数据库模型进行转换的机制,从而简化了数据持久化的操作。接下来,我们将对这个视频教程可能...