1

主キー (Transaction と TransactionDetail) を共有する 2 つのエンティティがある状況があります。Transaction から TransactionDetail へ、および TransactionDetail から Transaction への多対 1 の関係を使用してそれらをマッピングしました。トランザクションの詳細には、トランザクションごとに 1 つのレコードが保持されます。

ただし、新しいトランザクション詳細オブジェクトを作成してトランザクションに追加すると、NHibernate は「update transaction set id = ?」のようなクエリで Transaction テーブルを更新しようとします。id = ?' 各パラメーターに同じ値を使用します。

マッピングは主キー列にあるため、トランザクションを更新したくありません。実際、主キーは ID 列であるため、値を更新しようとするとエラーが発生します。新しい TransactionDetail レコードが作成されたときに NHibernate が Transaction テーブルを更新しないようにするにはどうすればよいですか?

4

1 に答える 1

2

one-to-oneまたはjoin-tableタイプのマッピングを調べることができます。many-to-oneは特定の何かを意味し、あなたのケースは他の 2 つのタイプのマッピングのいずれかのプロファイルにより適しているようです。

于 2008-10-28T22:31:44.200 に答える