继承关系

subclass 只对一张表,查询起来效率高,但是一个缺点就是这个表中可能有很多空字段~表机构不是很合理。需要鉴别器。

部分主要的配置文件

<class neme="Employee" table="employee" discriminator-value="0">

..................................................

<descriminator column="type" type="int"/>

<subclass name="Skiller"  discriminator-value="1">

<property name="skill"/>

</subclass>

<subclass name="Sales"  discriminator-value="2">

<property name="sale"/>

</subclass>

........................................................

</class>

joined-subclass针对多张表,查询效率可能低。但它维护了表结构的合理性。

部分主要配置文件

<class neme="Employee" table="employee" >

..................................................

<joined-subclass name="Skiller"  table="skiller">

<key column="emp_id"/>

<property name="skill"/>

<joined-subclass>

<joined-subclass name="Sales"  table="sales">

<key column="emp_id"/>

<property name="sale"/>

<joined-subclass>

........................................................

</class>

 另外可以把这两种映射方式结合起来,使类中属性少的那个类使用subclass,属性多的那个类使用subclass(其中用join字段)。也就是属性少的不用单建立表,属性多的要单建立一个表。

<class neme="Employee" table="employee"  discriminator-value="0">

..................................................

<descriminator column="type" type="int"/>

<subclass name="Skiller"  discriminator-value="1">

<property name="skill"/>

</subclass>

<subclass name="Sales" discriminator-value="1">

<joine table="sales">

<key column="emp_id"/>

<property name="sale"/>

</join>

<subclass>

........................................................

</class>

 还有一种就是每个子类一张表,每个表里的信息都是完整的,所以就不用关联表~

部分主要配置文件.用这种方式必须保证主键ID不同。

 

 <class neme="Employee" table="employee"  >

..................................................

 <union-subclass name="Skiller"  table="skiller">

<property name="skill"/>

</union-subclass>

<union-class name="Sales" table="sales" >

<property name="sale"/

<union-subclass>

........................................................

</class>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值