オブジェクトA
には1対多の関連付けがあります:多くのオブジェクトB
。
データベースを見ると、名前を確認するために代理整数識別子を常に結合または副選択するのではなくTableB
、一意で読み取り可能な文字列を確認したいと思います。A.Name
Name
の識別子としてマップできますが、NHibernateはのインスタンスが一時的であるか永続的であるかを識別できないためA
、これにより多くの余分なクエリが発生します。SELECT
A
ネイティブに割り当てられた代理キーと自然キーを組み合わせて、複合キーを使用できると思います。これは最適ではないようですが、いくつかの意見を聞きたいと思います。
私が本当に探しているのは、NHibernateが一時的なインスタンスを識別できるようにしながら、単一列の自然キーを使用するための戦略です。
- 出来ますか?
- マッピングとは何ですか-流暢またはhbm?
一方、これがすべてひどい考えであり、副選択を含むデータベースビューに依存する必要がある場合は、説明してください。
ありがとう。