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 閱讀(2247) 評論(1) 編輯 收藏 所屬分類: java
不錯啊。。支持。。。 吳某人 多指點。。。 回復 更多評論