Hibernate学习笔记:继承映射之每个类继承结构一张表
来源:互联网 发布:chris evans 知乎 编辑:程序博客网 时间:2024/05/17 06:59
对象之间除了拥有,使用的关系,还有继承关系。Hibernate在作继承关系映射的时候有多种做法,今天学习第一种:每个类继承结构一张表,也就是说父类和子类在一张表中, 通过额外字段区分子类型。为了演示这种映射关系的做法,本文引入了四个对象,Animal, Monkey, Tiger,Zoo. Monkey和Tiger继承自Animal. 每个Animal都归属一个动物园Zoo,关系表animal(id, name, zoo_id,age, kind, animal_type), 其中animal_type用来标识子类是Tiger还是Monkey, age是monkey的专有属性, kind是tiger的专有属性。 关系表zoo(id, name, address).
Zoo.hbm.xml:
只有父类Animal有映射文件, 子类的配置通过subclass来标识。
Animal.hbm.xml:
dao和测试用例:
在向数据库中填充测试数据的时候注意animal_type的数据,本例用"MONKEY"和"TIGER"来标识子类, 所以最好对这个字段有约束。
这种做法的优点是:简单, 增加子类方便,数据存储快(因为在一张表中),方便制作报表;
这种做法的优点是:耦合性高; 潜在的数据空间浪费。
需要注意的是: 子类专有的字段不能有非空约束。
- Hibernate学习笔记:继承映射之每个类继承结构一张表
- Hibernate学习笔记:继承映射之每个子类一张表
- Hibernate继承映射之每个类一张表
- Hibernate继承映射之每个具体类一张表
- hibernate继承映射策略之每个具体类一张表
- Hibernate学习笔记:继承映射之每个子类一张表,使用辨别标志
- Hibernate映射类继承之每个类层次结构一张表(父子类共用一张表,一个映射文件)
- Hibernate学习笔记:混合使用每个继承结构一张表 和 每个子类一张表
- Hibernate继承映射方式之每个子类一张表
- hibernate继承映射策略之每个子类一张表
- hibernate继承结构中每个类一张表
- Hibernate 继承映射实现方式之每个具体类对应一张表
- Hibernate 继承映射实现方式之每个具体类对应一张表
- Hibernate继承映射:每个子类一张表(joined-subclass)表结构
- Hibernate系列之继承关系:每个类一张表
- Hibernate映射类继承之每个类一张表(父子类都有各自的表,并共用一个映射文件)
- Hibernate映射类继承之每个带有联合的具体类一张表(每个子类各一张表,共用一个父类映射文件)
- Hibernate映射类继承之每个带有隐式多态的具体类一张表(每个子类各一张表,有各自的映射文件)
- Oracle 定时备份
- 准备报考CISSP
- Socket的send()与recv()函数
- 开线段树大小 的问题?
- .NET 4.0新功能介绍:In Process Side By Side
- Hibernate学习笔记:继承映射之每个类继承结构一张表
- .NET 4.0新功能介绍:In Process Side By Side
- Apache HTTP Server 与 Tomcat 的三种连接方式介绍
- JAVA学习 JAVA开发环境建立
- VS2008快捷键大全
- vector 作为参数和返回值
- 互联网虚拟大脑的结构全景图
- Windows平台上的Apache+Tomcat配置指南
- Delphi中的四舍五入函数