Hibernate继承关联关系映射处理之joined-subclass,以这种方式处理继承关联关系映射,会将继承树中的每一个类都在数据库中进行映射,有着各自对应的数据表。与前两种处理方式,除去配置文件的不同之外,其它部分没有区别,如不了解,请参见前文关于subclass的讨论或者本文最后附上的源码。
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping default-access="field">
<class name="com.orm.model.Person" table="person" abstract="true">
<id name="id" column="id" type="java.lang.Integer">
<generator class="native"/>
</id>
<property name="name" column="name" type="java.lang.String"/>
<joined-subclass name="com.orm.model.Male" table="male">
<key column="personid"/>
<property name="make" column="make" type="java.lang.String"/>
</joined-subclass>
<joined-subclass name="com.orm.model.Female" table="female">
<key column="personid"/>
<property name="maked" column="maked" type="java.lang.String"/>
</joined-subclass>
</class>
</hibernate-mapping>
测试结果截图
- 大小: 10.6 KB
- 大小: 15.9 KB
- 大小: 7.9 KB
分享到:
相关推荐
本文将详细探讨Hibernate中处理继承关系的三种映射策略:subclass、joined-subclass以及union-subclass。 首先,让我们理解继承关系在面向对象编程中的重要性。继承允许我们创建一个类(子类)作为另一个类(父类)...
3. ** Joined Subclass Inheritance( Joined Table Inheritance)**:父类和子类各有一张表,子类的表只包含其特有的属性,通过外键关联到父类表。适用于子类有少量附加属性的情况,避免了冗余,但增加了查询复杂性...
Hibernate Mapping是Java领域中一种重要的对象关系映射(ORM)技术,它使得开发者可以使用面向对象的方式来操作数据库,极大地简化了数据存取的操作。在Hibernate中,mapping文件是连接Java类和数据库表的关键,它...
在Java世界中,ORM(对象关系映射)框架如Hibernate极大地简化了数据库操作。本话题主要探讨的是Hibernate 3.2版本中的类继承关系处理,这是面向对象编程中常见的概念,但在数据库映射时需要特殊考虑。在Hibernate中...
在Hibernate的XML映射文件中,我们需要通过`<class>`、`<subclass>`等元素来配置继承关系。比如,对于单表继承,`<subclass>`元素需要指定discriminator-value,表明该子类的标识。对于联合继承,需要配置子类表与...
Hibernate支持四种继承映射策略:单表继承(Single Table Inheritance)、联合继承( Joined Subclass)、表 per 类继承(Table per Class Inheritance)和子类表(Concrete Table Inheritance)。在实际应用中,最...
综上所述,`Hibernate教程17_继承映射_补充2`主要讲解了如何使用Hibernate的JOINED策略来处理类继承关系,以及如何在实际项目中进行配置和使用。通过理解和掌握这一策略,开发者可以更好地应对复杂的数据模型,提高...
- **1.1 前言**:介绍了 Hibernate 的背景及其为何能成为 Java 开发者常用的 ORM 工具之一。 - **1.2 第一部分——第一个 Hibernate 应用程序** - **1.2.1 第一个 class**:创建一个简单的 Java 类来表示实体。 - ...
在Java世界中,ORM(对象关系映射)框架如Hibernate极大地简化了数据库操作。本教程主要探讨的是Hibernate中的“继承映射”特性,这是一项关键功能,它允许我们将复杂的类继承结构映射到数据库表中。通过继承映射,...
- **映射策略**:通过 `<subclass>` 和 `<joined>` 等标签配置继承关系。 ##### 4.3 实现 equals() 和 hashCode() - **目的**:强调正确重写 equals() 和 hashCode() 方法的重要性。 - **内容**: - **重写方法*...
Hibernate支持单继承和多层继承的映射,通过`<subclass>`或`<joined-subclass>`标签将子类映射到数据库中的特定表,这在设计复杂的对象模型时非常有用。 **四、一对一关系映射** 在`hibernate_one2one_ufk_1`示例...
这种策略是Hibernate提供的四种继承映射策略之一,其他还包括“表-per-hierarchy”,“表-per-concrete-class”和“joined-subclass”。 首先,让我们理解什么是继承映射。在面向对象编程中,类可以有继承关系,...
在软件开发领域,尤其是在Java持久化技术中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者将数据库操作转化为对Java对象的操作。本文将深入探讨Hibernate中的继承映射(Inheritance Mapping)...
非实体类型的组成部分用`component`表示,继承关系的描述中,单表策略用`subclass`,多表策略用`joined-subclass`或`table-per-class`。双向关联关系的维护属性为`inverse`,级联操作属性为`cascade`,乐观锁通常...
id>`(复合主键)、`<joined-subclass>`(共享表的继承)、`<subclass>`(单表的继承)、`<union-subclass>`(联合表的继承)、`<inverse>`(双向关联的维护关系)、`<cascade>`(级联操作)、`<version>`(乐观锁...
- **连接的子类映射**(`joined-subclass`):实现多表继承,每个子类有自己的表,通过`<joined-subclass>`元素映射。 ### Hibernate 查询语言 (HQL) HQL使我们能够用面向对象的方式来编写查询语句,避免了与SQL的...
**Hibernate** 是一款开源的对象关系映射(ORM)框架,其主要目标是减轻开发者在数据持久化编程中的工作量,帮助开发者实现对象模型与数据库之间的无缝对接。通过使用Hibernate,开发者可以避免编写大量的SQL代码,...