これが私の階層です:
class abstract Entity{/*メンバー*/}//エンティティテーブルにマッピング class abstract User:Entity {/ * members */}//ユーザーテーブルにマッピング class Employee:User{/*メンバーなし*/}//テーブルなし、discriminator = "E" class Contractor:User{/*メンバーなし*/}//テーブルなし、discriminator = "C"
これが2つの別々のhbmファイルでの私のマッピングです:
<class name = "Entity" table = "entity" xmlns = "urn:nhibernate-mapping-2.2"> <id name = "Id" column = "id"> <generator class = "guid.comb" /> </ id> <プロパティ.../> </ class> <joined-subclass name = "User" extends = "Entity" table = "user"> <key column = "id" /> <discriminator column = "type" /> <プロパティ.../> <subclass name = "Employee" discriminator-value = "E" /> <subclass name = "Contractor" discriminator-value = "C" /> </joined-サブクラス>
以下は私が得る例外です:
MappingException:XML検証エラー:名前空間'urn:nhibernate-mapping-2.2'の要素'joined-subclass'には、名前空間'urn:nhibernate-mapping-2.2'の無効な子要素'discriminator'があります。
私は何が欠けていますか?結合されたサブクラスの識別されたサブクラス階層をマップできませんか?