2012-02-28 10 views
1

私は以下のような状況があります。私はいくつかの読み取り専用プロパティをビューからマップする必要がありますが、その場合に必要なものだけを持つためにフィルターを使用する必要があります。サブクラスで結合をフィルタリングする方法はありますか?

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" 
        assembly="XX" 
        namespace="XXYY"> 
    <subclass name="B" 
      extends="P" 
      discriminator-value="IS" 
      dynamic-insert="true" 
      dynamic-update="true" 
      lazy="true"> 

    <join table="Aview" inverse="true"> 
     <key column="ID_A" /> 
     <property name="IdBlabla" insert ="false" update ="false" column="ID_BlaBla"/> 
     <property name="Tipo" insert ="false" update ="false" /> 
     <many-to-one name="CC" column="ID_C" cascade="none" insert ="false" update ="false"/> 
    </join> 
     </subclass> 

</hibernate-mapping> 

特定のID_Cをフィルタリングするにはどうすればよいですか?

私はそう私は私がキー列フィールドにフィルタ条件を設定し、それが動作トリック

を発見した複数のオブジェクト

+0

あなたの質問には複数の結果がありますか?多対1なしでも正しく機能しますか?特定のID_CC(ID_C?)はあなたのマッピングにハードコードされていますか? –

+0

ビュー内に特定のID_Cを持つ行のみを持つ必要があります.1対1のマッピングが必要ですが、実際の状況はより複雑ですが、結合されたテーブルにいくつかの動的フィルタを設定することができます。そうでなければ、私はgetbyid私は複数の結果を持っています。 – Andreanta

答えて

0

を持って、参加からわずか1の結果を必要とします!

<join table="Aview" inverse="true"> 
     **<key column="ID_A and ID_C=:MyFilter.IdCC" />** 
     <property name="IdBlabla" insert ="false" update ="false" column="ID_BlaBla"/> 
     <property name="Tipo" insert ="false" update ="false" /> 
     <many-to-one name="CC" column="ID_C" cascade="none" insert ="false" update ="false"/> 
    </join> 
+0

質問のエイリアスに問題があります – Andreanta

関連する問題