Я пытаюсь использовать HQL-запрос в элементе <loader>
для загрузки объекта, основанного на других объектах.
Мой класс выглядит следующим образом
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>
Класс, который я пытаюсь отобразить поверх, - это SimpleParentObject, который имеет собственное отображение и может быть загружен и сохранен без проблем.
Когда я вызываю session.Get <ParentOnly>
(id), sql корректно работает с таблицей SimpleParentObject, и создается экземпляр объекта ParentOnly (как я могу пройти через конструктор), но возвращается только нуль, а не экземпляр объекта ParentOnly.
Я могу сделать это успешно, используя вместо HQL, но я пытаюсь построить это независимо от базы данных.
Есть мысли о том, как получить элементы <loader>
и <query>
для возврата заполненного объекта ParentOnly ...?
Спасибо
Мэтт