继承映射_一个类继承树映射成一张表_1 Hibernate视频 第33讲
阿超 发表于 2009-11-01 20:05 | 来源: | 阅读 116 次
本系列视频
- mysql 常用日期函数整理
- Apache ActiveMQ(2)教程
- ActiveMQ基础笔记
- Apache ActiveMQ (1)教程
- 连接池泄露的问题:Timeout waiting for idle object
- jQuery autocomplete 导致页面光标自动定位到了文本框
- hibernate C3P0连接池详细配置
- 【锋利的JQuery】 学习笔记,锋利的JQuery电子书pdf学习笔记
- 让firefox支持javascript中的innerText
- java学习 loadrunner license的设置
- java设计模式之Decorator模式
- java数据连接池 dbcp配置中文文档-java学习
- java一些设计模式的学习心得
视频加载中 剩余15秒
视频简介:
每棵继承树映射成一张表
1、理解如何映射
因为类继承树肯定是对应多个类,要把多个类的信息存放在一张表中,必须有某种机制来区分哪些记录是属于哪个类的。
这种机制就是,在表中添加一个字段,用这个字段的值来进行区分。用hibernate实现这种策略的时候,有如下步骤:
父类用普通的<class>标签定义
在父类中定义一个discriminator,即指定这个区分的字段的名称和类型
如:<discriminator column=”XXX” type=”string”/>
子类使用<subclass>标签定义,在定义subclass的时候,需要注意如下几点:
Subclass标签的name属性是子类的全路径名
在Subclass标签中,用discriminator-value属性来标明本子类的discriminator字段(用来区分不同类的字段)
的值Subclass标签,既可以被class标签所包含(这种包含关系正是表明了类之间的继承关系),也可以与class标
签平行。 当subclass标签的定义与class标签平行的时候,需要在subclass标签中,添加extends属性,里面的值
是父类的全路径名称。子类的其它属性,像普通类一样,定义在subclass标签的内部。
2、理解如何存储
存储的时候hibernate会自动将鉴别字段值插入到数据库中,在加载数据的时候,hibernate能根据这个鉴别值
正确的加载对象
多态查询:在hibernate加载数据的时候能鉴别出正真的类型(instanceOf)
get支持多态查询
load只有在lazy=false,才支持多态查询
hql支持多态查询

