人类(Person) , 男人(Men)继承"人"类, 女人(Women)继承"人"类, UML请看15讲.
映射到两个表:
人类(Person) 与
男人(Men)类
映射到如下的t_person表中
, 有以下5个字段:
1 int id //主键
2 varchar name //父类中的姓名
3 int age //父类中的年龄
4 int/varchar type //区分"人","男人","女人" 的专用字段, 默认类型是varchar, 也可以指定为int类型. 叫鉴别器字段
//Person类:type值设为0,
Men类:
type值设为1, Women
类:
2
5 varchar a //"男人"类专有属性
女人(Women)类, 单独保存在一张表中.就像第15讲一样.
映射文件 例子就像下面:
<?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="包名">
<class name="Person" discriminator-value="0">
<id name="id">
<generator class="hilo"/>
</id>
<!-- 鉴别器 ,重要 -->
<discriminator column="type" type="int"/>
<property name="name"/><!-- 父类的属性 -->
<property name="age"/><!-- 父类的属性 -->
<!-- Men类的映射-->
<subclass name="Men" discriminator-value="1">
<property name="a"/><!-- Men类专有的属性a -->
</subclass>
<!-- Women类的映射-->
<subclass name="Women" discriminator-value="2">
<join table="t_women">
<key column="person_id"/>
<property name="b"/> <!-- Women类专有的属性b -->
</join>
</subclass>
</class>
</hibernate-mapping>
保存与查询操作: 略.. 请看14,15讲
分享到:
相关推荐
第三十一讲至第三十五讲:错误与异常处理 - 理解PHP中的错误类型,学习如何处理运行时错误。 - 引入异常处理机制,学习try-catch-finally结构。 第三十六讲至第四十讲:数据库操作 - 讲解MySQL数据库连接和查询,如...
- **UGUI**: 继承了NGUI的优点,并且与Unity引擎深度集成,提供了一整套完善的UI解决方案。 ##### UGUI的特点 - **紧密集成**: UGUI作为Unity引擎的一部分,与Unity其他组件和系统紧密集成。 - **稳定性高**: 经过...
将牛郎织女分开(本应在一起,分开他们,形成两个接口),在他们之间搭建一个桥(动态的结合) 设计模式之 Flyweight(共享元) 提供 Java运行性能,降低小而大量重复的类的开销. C. 行为模式 设计模式之 Command(命令) ...
5. **运算符与表达式**:介绍算术运算符、比较运算符、逻辑运算符等,并结合实际案例演示如何使用这些运算符。 6. **控制结构**:讨论条件语句(如if-else、switch-case)、循环语句(for、while)的使用方法及其...
一度我认为学习Java会使我看起来与众不同,可是几个月以后我放弃了这个选择,我看了论坛里关于这两种语言孰优孰劣的讨论,最终选择了C#,请不要问我为何做出这样的选择,很多人认为中文是世界上最美丽的语言,可是...
ASP.NET技术就是由微软的.NET技术细化而来的,它跟ASP技术有些关系,然而又不是仅仅是一个继承,可以讲,ASP.NET跟ASP想比较的话,已经是变得面目全非了,当然好得至少是一个量级以上。 ASP.NET完全基于模块与组件,...
ASP.NET技术就是由微软的.NET技术细化而来的,它跟ASP技术有些关系,然而又不是仅仅是一个继承,可以讲,ASP.NET跟ASP想比较的话,已经是变得面目全非了,当然好得至少是一个量级以上。 ASP.NET完全基于模块与组件,...
使用`eof()`函数可以判断文件是否到达末尾,但在某些情况下可能需要结合其他条件使用。 #### 提高篇 33. **new和delete比malloc和free有哪些优点?** `new`和`delete`不仅分配和释放内存,还能调用构造函数和...
10. **Java SE应用实战**:在第19章,通常会结合前面学过的知识,进行一个综合项目,如编写一个简单的GUI应用或网络应用,让学生将理论知识付诸实践。 每个章节的课件和源代码都提供了学习和动手实践的机会。PDF...
第三章 编写第一个应用程序 .20 3.1 Welcome 程序 .20 3.2 代 码 分 析 .20 3.3 运 行 程 序 .23 .4 添 加 注 释 .25 3.5 小 结 .27 第二部分 C#程序设计基础.28 第四章 数 据 类 型 .28 4.1 值 类 型...
注意:默认类型转换(自动类型提升)会丢失精度,但只有三种情况: int>float; long>float; long>double. 看一下他们的有效位就明白。 二进制是无法精确的表示 0.1 的。 进行高精度运算可以用java.math包中...