继承------类表映射-------每个具体类一张表

1.类表映射:每个具体类一张表,父类是没有对应表的,即使有,也不存储任何记录。

(1)采用<union-subclass>标签来定义子类。

(2)每个子类对应一张表,并且存储着完整的信息:从父类继承来的属性字段+该子类扩展的属性字段(这也是和<joined-subclass>的不同之处)。

2.配置文件如下:

<hibernate-mapping package="包名">
	<class name="父类">
		<id name="id">
			<generator class="assigned"></generator>
		</id>
		<property name="...."></property>
		.....父类属性.....
		<union-subclass name="子类名称" table="对应表">
			<property name="子类属性"></property>
		</union-subclass>
		<union-subclass name="子类名称" table="对应表">
			<property name="子类属性"></property>
		</union-subclass>
	</class>
	
</hibernate-mapping>

说明:

(1)<union-subclass>name属性为子类的路径,table为映射成的表名。

(2)该标签和<class>标签可以是平行或者包含关系。
(3)但要注意主键id的生成策略,不能是native。

(4)父类如何不生成表:<class name="父类" abstract="true">

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值