2009-06-16 13 views
3

私は簡単な例があります。インタフェースを実装する抽象ジェネリッククラスを継承する具象クラスです。NHibernate: 'extends'によって参照されるこれらのクラスは見つかりませんでした

ie。 StringProperty - > AbstractProperty <T> - > IProperty

私は次のエラーを取得する...

NHibernate.MappingException: These classes referenced by 'extends' were not found: 
NhibernateTest.AbstractGenericProperty`1[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], PromoNhibernateTest 
    at NHibernate.Cfg.MappingsQueue.CheckNoUnavailableEntries() 
    at NHibernate.Cfg.Configuration.SecondPassCompile() 
    at NHibernate.Cfg.Configuration.BuildSessionFactory() 

私はNHibernateのは、次のようなマッピングを産生する属性を使用

...

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> 
    <class name="NhibernateTest.AbstractGenericProperty`1, PromoNhibernateTest" lazy="false" table="Properties"> 
    <id> 
     <generator class="identity" /> 
    </id> 
    <discriminator column="Name" type="String" /> 
    </class> 
    <subclass name="NhibernateTest.StringProperty, PromoNhibernateTest" lazy="false" extends="NhibernateTest.AbstractGenericProperty`1[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], PromoNhibernateTest" discriminator-value="string" /> 
</hibernate-mapping> 

教えてくださいマッピングに何が問題なのですか?

ありがとう、

Ted。

答えて

0

問題は、AbstractPropertyをマップできないということです。

ジェネリック型を定義するサブクラスマッピングを作成した場合でも、開いたジェネリック型をマップすることはできません。

NHibernateがサブクラスマッピングに到達したときに不平を言ってしまうのはなぜか分かりませんが、問題はサブクラスではなくAbstractPropertyマッピングであると確信しています。

関連する問題