7.3.6 三种继承策略对比

下面这三种继承策略进行一下对比,如表所示。

  三种继承策略对比

继承策略

继承关系的实体保存在一个表(SINGLE_TABLE

每个实体子类保存在一个表(JOINED

每个实体类保存在一个表(TABLE_PER_CLASS

映射的表

所有实体属性映射的字段都保存在该表,并且有一个标识类型的字段

一个顶层的父类映射的表,其他每个子类映射为一个表,并且每个子类通过父类与主键关联,也可以使用标识类型的字段

每个实体映射为一个表,并且每个表都包含实体的所有属性。

表中是否需要类标识

优势

支持多态(polymorphic)查询,并且查询效率高。

支持多态查询,并且查询效率高。

 

劣势

要允许字段为null,否则一些子类实体将不能映射。

当进行Join关联查询时,效率比较低。

虽然支持多态查询,但由于查询多个表,所以查询的效率比较低,所以一般不建议使用这种策略。

提示:有关多态的内容将在7.4小节讲述,有关查询将在第9章讲述。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值