hibernate表结构三种继承关系

本文介绍了三种ORM映射策略:每个继承层次一张表、每个具体类一张表及每个类一张表。详细阐述了每种策略的映射语法及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 每个继承层次一张表

映射语法:
分别为继承层次的各个类定义持久类,其中只有父类包含标识符属性
只有一个以父类命名的映射文件
在映射文件中,必须使用的column属性来定义鉴别字段
在映射文件中,父类的属性直接放在标记对之间,子类的属性必须放在标记对之间
需要在类/子类标记中使用discriminator-value属性指定各个类对应的鉴别字段的值

映射关系
这里写图片描述

2 每个具体类一张表(父类作abstract)

映射语法:
分别为继承层次的各个类定义持久类,其中只有父类包含标识符属性
定义父类为抽象类,每个子类为具体类
父类不映射成表,每个子类映射一张表
只有一个以父类命名的映射文件
将子类属性放在标记对之间

映射关系: ps:主键不可用native或identity方式生成
这里写图片描述

3 每个类一张表

映射语法:
分别为继承层次的各个类定义持久类,其中只有父类包含标识符属性
父类和子类分别映射到不同的表,父类与子类对应的表通过外键关联
只有一个以父类命名的映射文件
子类属性放在映射文件中的标记对之间

映射关系:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值