Hibernate三种继承映射方式的比较
2007-02-28 15:03
211 查看
比较方面 | 每个具体类一张表 | 每个分层结构一张表 | 每个子类一张表 |
建立关系模型原则 | 每个具体类对应一张表,有多少具体类就需要建立多少个独立的表 | 描述一个继承关系只用一张表,也就是说子类所使用的表与父类相同 | 每个子类使用一张表,但这些子类所对应的表都关联到基类所对应的表中 |
关系模型的优缺点 | 这种设计方式符合关系模型的设计原则,但有表中存在重复字段的问题 | 缺点有二:首先表中引入的区分子类的字段,也就是包括了描述其他字段的字段。其次,如果某个子类的某个属性不能为空,那么在数据库一级不能设置该字段not null(非空) | 这种设计方式完全符合关系模型的设计原则,且不存在冗余 |
可维护性 | 如果需要对基类进行修改,则需要对基类以及该类的子类所对应的所有表都进行修改 | 维护起来方便,只需要修改一个表 | 维护起来比较方便,对每个类的修改只需要修改其所对应的表 |
灵活性 | 映射的灵活性很大,子类可以包括基类属性在内的每一个属性进行单独配置 | 灵活性差,表中冗余字段会随着子类的增多而越来越多 | 灵活性很好,完全是参照对象继承的方式进行配置 |
查询性能 | 对于子类的查询只需要访问单独的表,对父类查询怎需要检索所有的表 | 在任何情况下,都只需处理一个表 | 对于父类的查询需要使用左外链接,对于子类查询需要使用内链接 |
维护性能 | 对于单个对象持久话操作只需要处理一个表 | 对于单个对象的持久话操作只需要处理一个表 | 对于子类的持久话至少要处理两个表 |
相关文章推荐
- hibernate中继承映射的三种方式(SINGLE_TABLE,TABLE_PER_CLASS,JOINED)
- Hibernate继承映射的三种方式
- hibernate笔记--继承映射关系的三种实现方式
- hibernate三种常用继承映射的优缺点
- 【Hibernate框架】三种继承映射
- 联合主键用hibernate注解映射方式主要有三种:
- hibernate的继承映射 之 三种示例
- 关联映射中的继承映射的三种方式
- hibernate继承映射[映射单独一个tablexml版本]实例【与19相同,方式不同,未验证】(二十)
- hibernate的继承映射 之 三种示例
- 【Hibernate】——三种继承映射
- Hibernate注解映射联合主键的三种主要方式
- hibernate继承的三种映射策略( Inheritance mapping)
- Hibernate的三种继承映射
- Hibernate注解映射联合主键的三种主要方式
- Hibernate 简单使用(七)继承映射的几种方式
- Hibernate之jpa实体映射的三种继承关系
- Hibernate注解映射联合主键的三种主要方式
- Hibernate注解映射联合主键的三种主要方式
- Hibernate入门07_继承映射01_discriminator方式