`

Hibernate:类继承的实现方式(四)--每个具体类映射一张独立表

阅读更多
这种方式会把继承链的所有类保持到数据库中单独的表中,而且标语表之间没有关联关系!!

domain对象与测试代码同(一)

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="cn.itcast.hibernate.inherit4">

	<class name="Employee" table="employee">
		<id name="id" unsaved-value="-1">
			<generator class="hilo" />
		</id>
		<property name="name"/>

		<union-subclass name="Skiller" table="skiller">
			<property name="skill"/>
		</union-subclass>
		
		<union-subclass name="Driver" table="driver">
			<property name="driverYears"/>
		</union-subclass>
		
	</class>
</hibernate-mapping>



执行的sql语句:

Hibernate: insert into employee (name, id) values (?, ?)
Hibernate: insert into skiller (name, skill, id) values (?, ?, ?)
Hibernate: insert into driver (name, driverYears, id) values (?, ?, ?)



<generator class="hilo" />

为什么不能使用native了?应为各个表用的是一个自增长标示,如果使用native就会出现重复,所以可以使用hilo策略
分享到:
评论

相关推荐

    Hibernate继承映射二:每个子类一张表

    本篇主要探讨的是Hibernate中的继承映射策略,特别是“每个子类一张表”(Table per subclass)的方式。这种方式也被称为单表继承或多表继承,是Hibernate支持的四种继承映射策略之一。了解并熟练掌握这种映射模式...

    Hibernate继承映射的第一种策略:每个具体类一张表

    本篇文章将详细探讨Hibernate继承映射的策略,特别是“每个具体类一张表”(Table Per Concrete Class)的映射方式。 在面向对象编程中,继承是常见的代码复用手段,但在关系型数据库中,这种概念并不直接对应。...

    Hibernate继承映射的第一种策略:每棵类继承树对应一张表

    本篇将详细介绍Hibernate继承映射的第一种策略——每棵类继承树对应一张表,即单一表继承策略。 ### 单一表继承策略 在单一表继承策略中,所有类层次结构中的实例都存储在同一张数据库表中。这种策略通过在表中...

    hibernate映射继承关系(每个类都对应一张表)

    Hibernate,作为Java中广泛使用的对象关系映射(ORM)框架,提供了多种方式来处理继承关系的映射,其中一种就是"每个类都对应一张表"的策略。本文将深入探讨这种映射方式,以及如何在Hibernate中实现它。 首先,...

    Hibernate继承映射一:每个类分层结构一张表

    Hibernate提供了四种主要的继承映射策略:单表策略、每个类分层结构一张表、表集策略以及联合主键策略。本文主要关注的是“每个类分层结构一张表”。 在“每个类分层结构一张表”策略中,每种具体类(Concrete ...

    17 继承(四)每一个具体的类 映射到一张表

    标题中的“17 继承(四)每一个具体的类 映射到一张表”指出,我们将关注的是类继承在Hibernate中的映射策略。在传统的面向对象编程中,继承允许我们创建一个新类(子类)并继承父类的属性和方法,以此实现代码复用和...

    Hibernate继承映射

    Hibernate的继承映射 --每个继承层次一张表 -- 每个具体类一张表 -- 每个类一张表

    Hibernate继承映射的第一种策略:每个类对应一张表

    本文将详细探讨“Hibernate继承映射的第一种策略:每个类对应一张表”的概念、实现方式以及其优缺点。 首先,我们需要理解Hibernate继承映射的基本策略。在面向对象编程中,类继承是常见的代码复用手段,但在数据库...

    Hibernate继承映射代码

    4. 分层继承:与表 per 类类似,每个类都有自己的表,但只有实体类有自己的表,抽象类不对应任何表。这适用于抽象类中没有字段的情况。 C3P0是另一个重要的知识点,它是开源的JDBC连接池,用于管理数据库连接。连接...

    用Hibernate映射继承关系

    每个类对应一张独立的数据库表,包括父类的所有属性。这种方式适合于类层次结构深度大,且每个子类有大量特有的属性。但是,它可能导致大量的小表,可能影响数据库性能。 在映射这些继承关系时,我们需要在...

    14 继承(一)(整个继承树映射到一张表)

    标题“14 继承(一)(整个继承树映射到一张表)”揭示了我们今天将探讨的主题——如何在数据库中通过ORM(对象关系映射)工具如Hibernate处理类的继承关系。 在Hibernate中,当一个类继承体系映射到数据库时,有几种...

    hibernate4.1中文api

    - **每个具体类一张表**: 每个具体子类使用单独的表。 - **表使用隐式多态实现每个具体类**: 通过隐式多态实现。 - **混合隐多态性与其他继承映射**: 结合使用隐式多态和其他策略。 #### 11. 处理对象 - **...

    hibernate继承映射.rar

    每个类都有一个独立的表,包括基类和子类。这种方式避免了数据冗余,但可能会产生大量的小表,增加数据库维护的复杂性。如果每个子类都有很多独有的属性,这种方式可能是最佳选择。 六、配置与实现 在Hibernate的...

    Hibernate继承映射-概述

    2. **表-per-class(Table per Class Inheritance)**:每个子类对应一个独立的数据库表,父类通常不会有自己的表,而是通过子类间接表示。 3. **联合继承(Concrete Table Inheritance)**:每个子类都有自己的...

    hibernate-jpa-2.1-api-1.0.0.final-sources.jar.zip

    《深入理解Hibernate JPA 2.1 API:源码解析》 在Java世界里,ORM(Object-Relational Mapping)框架的出现极大地简化了...同时,源码阅读也有助于提升问题排查和性能优化的能力,是每个Hibernate使用者进阶的必经之路。

    hibernate的继承映射关系

    这是最直接且简单的映射方式,每个具体类(即非抽象类)直接映射到数据库中的一张表。以图14-2为例,HourlyEmployee类和SalariedEmployee类分别对应数据库中的HOURLY_EMPLOYEES表和SALARIED_EMPLOYEES表。每个表中...

Global site tag (gtag.js) - Google Analytics