Основа NHibernate и производное отображение классов - PullRequest
0 голосов
/ 09 октября 2009

Положение: У меня есть класс MyClass и его "облегченная" версия MyClassLite , поэтому у меня есть

public class MyClass : MyClassLite

Я также использую hbm файл для сопоставления моих классов (они сопоставлены с той же таблицей). Дело в том, что когда я пытаюсь получить список MyClassLite сущностей, я получаю не только MyClassLite сущностей, но, кроме того, список MyClass сущностей. Как я могу избавиться от этого?

Ответы [ 2 ]

1 голос
/ 09 октября 2009

Что именно это ClassLite? Почему ваш класс наследует от ClassLite? Здесь действительно есть отношения "IS-A"?

В чем причина существования ClassLite? Это класс, который вы используете, когда, например, вам необходимо отобразить обзор экземпляров класса? Затем, если это так, вам следует взглянуть на DTO или 'Views', Projection и AliasToBeanEntityResultTransformer.

0 голосов
/ 09 октября 2009

Если вы настроите активную загрузку для списка в отображении или в запросе, вы получите реализацию MyClass.

В запросе критерия:

Criteria.SetFetchmode("MyClassListProperty", Fetchmode.Eager)

в запросе hql:

left join fetch MyClassListProperty

в файле сопоставления:

<set [...] lazy="false"> ...
...