企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 5.1.15\. 子类(subclass) 最后,多态持久化需要为父类的每个子类都进行定义。对于“每一棵类继承树对应一个表”的策略来说,就需要使用`&lt;subclass&gt;`定义。 ``` <subclass name="ClassName" discriminator-value="discriminator_value" proxy="ProxyInterface" lazy="true|false" dynamic-update="true|false" dynamic-insert="true|false" entity-name="EntityName" node="element-name" extends="SuperclassName"> <property .... /> ..... </subclass> ``` | ![1](https://box.kancloud.cn/2015-10-12_561bcb76795ae.png) | `name`: 子类的全限定名。 | |:--- |:--- | | ![2](https://box.kancloud.cn/2015-10-12_561bcb768596e.png) | `discriminator-value(辨别标志)` (可选 - 默认为类名):一个用于区分每个独立的子类的值。 | | ![3](https://box.kancloud.cn/2015-10-12_561bcb94ee26f.png) | `proxy(代理)` (可选): 指定一个类或者接口,在延迟装载时作为代理使用。 | | ![4](https://box.kancloud.cn/2015-10-12_561bcb9508b82.png) | `lazy` (可选, 默认是`true`): 设置为 `lazy="false"` 禁止使用延迟抓取 | 每个子类都应该定义它自己的持久化属性和子类。 `&lt;version&gt;` 和`&lt;id&gt;` 属性可以从根父类继承下来。在一棵继承树上的每个子类都必须定义一个唯一的`discriminator-value`。如果没有指定,就会使用Java类的全限定名。 更多关于继承映射的信息, 参考 [第 9 章 _继承映射(Inheritance Mappings)_](../Text/pr01_split_000.html "第 9 章 继承映射(Inheritance Mappings)")章节.