2011-04-04 5 views
1

で挿入を避ける休止状態私はプロパティNHibernateは/結合されたテーブルまたはビュー

<join table="XXVIEW" optional="true"> 
     <key column="ID_ENT" /> 
     <property name="Prop1" insert ="false" update ="false" /> 
     <property name="Prop2" insert ="false" update ="false" /> 
     <property name="Prop3" insert ="false" update ="false" />   
</join> 

にいくつかのデータを取得するためのビューを持つエンティティに参加する必要があるが、私は(挿入)を保存しようとすると、 ID_EntのXXVIEWにレコードを挿入してください

このエンティティでは、さまざまな計算や結合から取得する必要があり、コンポーネントなどのオブジェクトプロパティではなく単一のプロパティとして持つ必要があります。

この挿入をスキップできますか?または私はこのプロパティを別の方法でマップできますか?

このプロパティは、結合サブクラスにあります。 TIA ADB

あなたが戻っ保存しようとしている場合、私はあなたがビューを忘れる必要があります疑う mutable='false'

<class name="ActorView" mutable="false"> 
... 

を追加し、あなたのクラスの試行で、ビューにレコードを保存することはできません

答えて

4

代わりのオプションとしてそれをマークするあなたは(オプション - 偽 デフォルト)http://nhibernate.info/doc/nh/en/index.html#mapping-declaration-join

逆逆としてマーク試すことができます:有効にした場合、Hibernateはプロパティを挿入または更新しようとしない ますこの結合によって定義された

<join table="XXVIEW" inverse="true"> 
+0

がOK読み込まれるビューから取得していない、試験に合格するようです!おかげでvadim – Andreanta

0

とコレクションを定義して完全に吹き飛ばされたエンティティにします。

+0

私は、エンティティと他のプロパティを保存する必要がありますが、どれが唯一 – Andreanta

関連する問題