blogjava's web log ...
<subclass name="ClassName" (1) discriminator-value="discriminator_value" (2) proxy="ProxyInterface" (3) lazy="true|false" (4) dynamic-update="true|false" dynamic-insert="true|false" entity-name="EntityName" node="element-name"> <property .... /> ..... </subclass>
name: 子类的全限定名。
discriminator-value(辨别标志) (可选 - 默认为类名):一个用于区分每个独立的子类的值。
proxy(代理) (可选): 指定一个类或者接口,在延迟装载时作为代理使用。
lazy (可选, 默认是true): 设置为 lazy="false" 禁止使用延迟抓取
每个子类都应该定义它自己的持久化属性和子类。 <version> 和<id> 属性可以从根父类继承下来。在一棵继承树上的每个子类都必须定义一个唯一的discriminator-value。如果没有指定,就会使用Java类的全限定名。
可以在单独的映射文件中,直接在hibernate-mapping下定义subclass,union-subclass和joined-subclass映射。这样你只要增加一个新的映射文件就可以继承一棵类继承树。你必须在子类的映射中指定extends 属性来指定已映射的超类。注意:以前,这个特性使得映射文件的顺序变得很重要。从Hibernate3开始,当使用extends关键字的时候,映射文件的次序便不重要了。而在单一映射文件中,依旧需要保持将超类定义在子类之前这样的次序。
<hibernate-mapping> <subclass name="DomesticCat" extends="Cat" discriminator-value="D"> <property name="name" type="string"/> </subclass> </hibernate-mapping>
posted on 2006-04-09 00:18 record java and net 阅读(2246) 评论(1) 编辑 收藏 所属分类: java
不错啊。。支持。。。 吴某人 多指点。。。 回复 更多评论