5
我试图在<loader>
元素中使用HQL查询来加载基于其他实体的实体。使用nhibernate <loader>元素与HQL查询
我的班级如下
public class ParentOnly
{
public ParentOnly(){}
public virtual int Id { get; set; }
public virtual string ParentObjectName { get; set; }
}
和映射看起来像这样
<class name="ParentOnly">
<id name="Id">
<generator class="identity" />
</id>
<property name="ParentObjectName" />
<loader query-ref="parentonly"/>
</class>
<query name="parentonly" >
select new ParentOnly()
from SimpleParentObject as spo
where spo.Id = :id
</query>
,我attemping到顶部映射的是SimpleParentObject,有其自身的映射,并且可以在类被加载和保存没有问题。
当我打电话session.Get <ParentOnly>
(ID),在SQL正确违背了SimpleParentObject表,并且ParentOnly对象实例化(因为我可以通过建筑工步),但只有一个空回来,而不是实例化ParentOnly对象。
我可以使用一个而不是HQL成功做到这一点,但我试图以独立于数据库的方式构建它。
有关如何获取<loader>
和<query>
元素以返回填充的ParentOnly对象的任何想法......?
感谢
马特
HQL查询顺便说一句,任何人想知道为什么人会想用这个。 – 2010-03-26 08:32:31