2 つの hbm.xml マッピング ファイルがあります。これらは、クラス テーブルとクラス エンティティ名のプロパティを除いて同一です。それらは同じエンティティに入力することになっています。それらには、entity-name= Alpha と Beta、table= PersonAlpha と PersonBeta があります。
QueryOver と Criteria の両方を使用して、エンティティ Person を設定しようとしました。
var person = session.QueryOver<Person>("Alpha").Where(p => p.Firstname == "Donald").SingleOrDefault<Person>();
var person2 = session.CreateCriteria("Beta").Add(Restrictions.Eq("Firstname", "Donald")).UniqueResult<Person>();
エンティティ名を参照しているため、nHibernate は使用するマッピング ファイルを認識していると思いましたが、Profiler によると、上記の各ステートメントは PersonAlpha テーブルと PersonBeta テーブルの両方に対して SQL を生成します。どうしてこれなの?
バージョン 3.2.0 2001 og nHibernate を使用しています。
ありがとう!