hiernate用了很久,,但都是很简单的应用。。
现在水平应该也只是hello world水平。
复杂的映射还是没接触过。
现在碰到一问题。
两个类是继承关系,怎么映射到一张表上。
之前的做法很简单,类就是继承的,父类映射文件没有什么问题。
子类映射文件就是把父类以及子类中的属性全部映射下。
这样做,出现了一个问题,就是在查询父类的时候,把子类也查询出来了。也就是一张表查询了两次。
这个其实叫
Table per class hierarchy
http://www.ntsky.com/docs/java/HibernateGossip/HibernateGossip/InheritanceTablePerClassHierarchy.html
还有Table per subclass
http://www.iteye.com/problems/4615
http://www.cnblogs.com/cxccbv/archive/2009/01/21/1379327.html
http://blog.csdn.net/Java619/archive/2007/06/07/1642871.aspx
http://huoli.iteye.com/blog/300317
分享到:
相关推荐
本主题将深入探讨"Hibernate继承映射+C3P0代码"的相关知识点。 首先,让我们理解Hibernate的继承映射。在Java中,我们可以创建一个基类,然后派生出多个子类,这种设计模式在数据库中也可以被映射出来。Hibernate...
通过精心设计的继承映射策略,可以将继承关系树中的每个类对应到数据库的一个表,从而有效管理不同级别的实体属性。 #### 支持多态:实现灵活的数据处理 继承映射的一个显著优势在于其对多态的支持。多态是指同一...
Hibernate继承映射是将Java类的继承关系映射到数据库表的一种策略,使得对象模型的复杂性能够平滑地转化为关系数据库模型。本篇将详细介绍Hibernate继承映射的第一种策略——每棵类继承树对应一张表,即单一表继承...
4. **继承映射的配置**:在Hibernate的XML映射文件或注解中,需要显式声明继承关系。例如,使用`@Inheritance(strategy=InheritanceType.SINGLE_TABLE)`注解在父类上,然后在子类上使用`@DiscriminatorValue`指定...
本教程主要探讨的是Hibernate中的“继承映射”特性,这是一项关键功能,它允许我们将复杂的类继承结构映射到数据库表中。通过继承映射,我们可以有效地管理和组织数据,提高代码的复用性和可维护性。 在Hibernate中...
本篇文章主要探讨的是Hibernate的继承映射策略,特别是“每个类分层结构一张表”(Table per Concrete Class)的方式。这种映射策略是Hibernate提供的多种继承映射方案之一,适用于处理复杂的对象模型。 首先,我们...
总结来说,“每个子类一张表”的继承映射策略是Hibernate提供的一种处理继承关系的方法,它将类的继承结构映射到数据库的多个表中。这种策略适合于子类具有大量特有属性的情况,但需要权衡可能带来的数据库设计复杂...
本文将详细探讨“Hibernate继承映射的第一种策略:每个类对应一张表”的概念、实现方式以及其优缺点。 首先,我们需要理解Hibernate继承映射的基本策略。在面向对象编程中,类继承是常见的代码复用手段,但在数据库...
第三种映射方式是**类表映射**(Class-Table Inheritance Mapping),其中继承关系树的每个类(包括抽象类)都有其对应的表。这需要使用外键来建立类之间的关系。 ##### 14.3.1 创建映射文件 `Employee`类的映射文件...
首先,我们需要了解Hibernate支持的几种继承映射策略: 1. **单表继承(Single Table Inheritance, STI)**:所有子类共享同一张表,通过一个特定的字段(通常是`discriminator_column`)来区分不同的子类实例。...
本篇文章将详细探讨Hibernate继承映射的策略,特别是“每个具体类一张表”(Table Per Concrete Class)的映射方式。 在面向对象编程中,继承是常见的代码复用手段,但在关系型数据库中,这种概念并不直接对应。...
总结起来,"每个类都对应一张表"的继承映射策略在Hibernate中是一种直接且易于理解的方法,适合那些每个类都有独特属性的情况。然而,它可能不适合所有场景,特别是当子类众多或者需要减少数据冗余时。在实际应用中...
《Hibernate继承映射详解》 Hibernate,作为Java领域中的一款著名对象关系映射(ORM)框架,极大地简化了数据库操作。在实际项目中,我们常常会遇到类的继承关系,而Hibernate提供了强大的支持来处理这种继承关系的...
Hibernate的继承映射 --每个继承层次一张表 -- 每个具体类一张表 -- 每个类一张表
3. **表格分区继承(Table per Concrete Class)**:每个具体类都有一个单独的表,没有公共的父类表。`@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)`,每个子类都是独立的实体表,无需额外配置。 **三...
《Hibernate继承映射详解》 在Java开发中,对象关系映射(ORM)框架如Hibernate大大简化了数据库操作。Hibernate不仅提供了对基本数据类型的映射,还支持复杂的数据结构,如继承关系的映射。本篇文章将深入探讨...
在Java持久化框架Hibernate中,继承映射是一种关键特性,它允许开发者将对象模型的继承结构映射到数据库的表结构。在传统的面向对象编程中,继承是实现代码复用和结构化设计的重要手段,而在关系型数据库中,由于其...