2009-07-08 8 views
0

私は、エンティティB.非コレクションエンティティの保存と削除をカスケードする方法はありますか?

Class Entity A 
{ 
    public EntityB; 
} 

Class Entity B 
{ 
    public Entity A; 
} 

エンティティBは、エンティティAが保存されたとき、私は持っていないように削除し、私は保存カスケードを使用しようとしていますA.との1対1の関係を持っていたエンティティAを持っていますエンティティBを手動で保存する必要があります。自動的に実行する必要があります。

<many-to-one name="EntityA" cascade="save-update" 
    column="EntityASomeProperty" class="EntityA" /> 

Aが保存されるときに自動的にエンティティBを保存することが、私はできません:エンティティBのための

私のマッピングは次のようになります。

答えて

0

BからAに定義されたカスケードがあるように見えるので、EntityBを保存するときにEntityAを保存する必要があります。

EntityBを保存するときにEntityBを保存するには、その設定を元に戻す必要があります。この関係を管理し、常にその方向から作業する方向を選択する必要があることに注意してください。両方向をマッピングすることはできますが、1つのインバースを作成することで、ハイバネートが管理する方向を知ることができます。

また、実際には、OneToOneマッピングを使用することをお勧めします。

+0

こんにちは、私はあなたのポイントを得ました。しかし、私の次の質問は、Entity BのエンティティBに1対1のマッピングを作成した後で、エンティティBがエンティティBの1つにnullを挿入できないというエラーを取得した後です。 その列にはentityAプロパティ(ENtityA Guid)が含まれています。 – alice7

関連する問題