我有两个 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。
谢谢!