`
QIAN_QIAN
  • 浏览: 139158 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

继承映射

阅读更多

主要介绍两种:

 

 

第一种:所有的类在同一个表中

例如:Person,Boss,Manager,Saleman

Boss,Manager,Saleman继承Person

Person的属性:

int id;String name; boolean sex;

 

Boss:

String boss;

Manager:

String manager;

Saleman:

String sale;

 

首先,要写上4个类, Person,Boss,Manager,Saleman;

其次,就是要注意映射文件的写法

 

<?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="com.pk.po" >
 
 <class name="Person" table="t_person_m_b_s">
  <id name="id">
   <generator class="native"></generator>
  </id>
  <discriminator column="type"></discriminator>
  <property name="name" type="string"></property>
  <property name="age" type="integer"></property>
  
  <subclass name="Manager" discriminator-value="manager" >
   <property name="manager" type="string" ></property>
  </subclass>
  
  <subclass name="Boss" discriminator-value="boss" >
   <property name="boss" type="string"></property>
  </subclass>
  
  <subclass name="Saleman" discriminator-value="saleman">
   <property name="sale" type="string"></property>
  </subclass>

 
 </class>

</hibernate-mapping>

 

 

第二种:每个类在不同的表中

与第一种的区别就是配置文件的区别

<?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="com.pk.po" >
 
 <class name="Person" table="t_person" lazy="false" >
  <id name="id">
   <generator class="native"></generator>
  </id>

  <property name="name" type="string"></property>
  <property name="age" type="integer"></property>

  <joined-subclass name="Manager" table="t_manager">
   <key column="manager_id"></key>
   <property name="manager" type="string" ></property>
  </joined-subclass>
  
  <joined-subclass name="Boss" table="t_boss">
   <key column="boss_id"></key>
   <property name="boss" type="string" ></property>
  </joined-subclass>
  
  <joined-subclass name="Saleman" table="t_saleman">
   <key column="saleman_id"></key>
   <property name="sale" type="string"></property>
  </joined-subclass>


 
 </class>

</hibernate-mapping>

分享到:
评论

相关推荐

    继承映射的

    ### 继承映射在IT行业的深入解析 #### 核心概念:继承映射与多态支持 在软件开发领域,尤其是使用ORM(对象关系映射)技术进行数据库操作时,“继承映射”是一个关键的概念。它允许在数据库中表示面向对象编程中的...

    继承映射的详细解说

    继承映射详细,非常实用的学习资料继承映射详细,非常实用的学习资料

    Hibernate继承映射代码

    本主题将深入探讨"Hibernate继承映射+C3P0代码"的相关知识点。 首先,让我们理解Hibernate的继承映射。在Java中,我们可以创建一个基类,然后派生出多个子类,这种设计模式在数据库中也可以被映射出来。Hibernate...

    Hibernate教程17_继承映射

    本教程主要探讨的是Hibernate中的“继承映射”特性,这是一项关键功能,它允许我们将复杂的类继承结构映射到数据库表中。通过继承映射,我们可以有效地管理和组织数据,提高代码的复用性和可维护性。 在Hibernate中...

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

    Hibernate继承映射是将Java类的继承关系映射到数据库表的一种策略,使得对象模型的复杂性能够平滑地转化为关系数据库模型。本篇将详细介绍Hibernate继承映射的第一种策略——每棵类继承树对应一张表,即单一表继承...

    hibernate继承映射.rar

    《Hibernate继承映射详解》 Hibernate,作为Java领域中的一款著名对象关系映射(ORM)框架,极大地简化了数据库操作。在实际项目中,我们常常会遇到类的继承关系,而Hibernate提供了强大的支持来处理这种继承关系的...

    Hibernate继承映射-概述

    《Hibernate继承映射详解》 在Java开发中,对象关系映射(ORM)框架如Hibernate大大简化了数据库操作。Hibernate不仅提供了对基本数据类型的映射,还支持复杂的数据结构,如继承关系的映射。本篇文章将深入探讨...

    Hibernate继承映射(annotation)

    【标题】:“Hibernate继承映射(annotation)” 在Java对象关系映射(ORM)框架中,Hibernate是一个非常重要的工具,它允许开发人员将Java类映射到数据库表,从而简化了数据库操作。本主题主要探讨的是Hibernate中的...

    Hibernate教程17_继承映射_补充2

    在本教程中,我们将深入探讨Hibernate中的继承映射,特别是在"Hibernate教程17_继承映射_补充2"中所涉及的主题。Hibernate是Java中一个非常流行的对象关系映射(ORM)框架,它允许开发者用面向对象的方式处理数据库...

    Hibernate教程17_继承映射_补充1

    在本教程中,我们将深入探讨Hibernate中的继承映射策略,特别是"Table Per Class"策略,这是Java对象模型到关系数据库映射的一种方法。在Hibernate框架中,继承是通过ORM(对象关系映射)来实现的,它允许我们将复杂...

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

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

    IBatis: Discriminator Column Example – Inheritance Mapping(Ibatis中的继承映射)

    本篇文章主要探讨的是iBATIS中的一个高级特性——继承映射,通过`Discriminator`列来实现类的多态性。 首先,我们需要理解什么是继承映射。在面向对象编程中,继承是一种设计模式,允许创建新的类(子类)基于已...

    hibernate的继承映射(InheritanceMapping)[文].pdf

    本文将深入探讨Hibernate中的继承映射(Inheritance Mapping)策略,这是处理对象模型中继承关系在数据库中的映射方式。 10.1. Hibernate继承映射的三种基本策略: 10.1.1. 每个类分层结构一张表(Table per class...

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

    本篇文章主要探讨的是Hibernate的继承映射策略,特别是“每个类分层结构一张表”(Table per Concrete Class)的方式。这种映射策略是Hibernate提供的多种继承映射方案之一,适用于处理复杂的对象模型。 首先,我们...

    hibernate继承映射教学

    针对hibernate的继承映射部分做了几个测试的例子,更加直观的阐述了继承映射的几种方式以及对应的表结构方式,文件被分割成3部分 http://download.csdn.net/source/259075 http://download.csdn.net/source/259072 ...

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

    在Java的持久化框架Hibernate中,继承映射是处理对象模型中类继承关系的重要机制。本文将详细探讨“Hibernate继承映射的第一种策略:每个类对应一张表”的概念、实现方式以及其优缺点。 首先,我们需要理解...

    使用jpa映射关联和继承

    继承映射则适用于具有共同属性但又有所区别的实体,如不同类型的用户、不同状态的订单等,通过继承关系可以避免代码重复,提高代码复用性。 总结,JPA提供了强大的关联和继承映射机制,让开发者能更便捷地处理...

Global site tag (gtag.js) - Google Analytics