Проблема заключается в разнице между именем столбца и именем свойства.Имена членов чувствительны к регистру.
Ваше отображение HBM явно сообщает NHibernate, что столбец "NAME" сопоставлен со свойством "Name".Но при вызове Transformers.AliasToBean
имена столбцов должны совпадать с именами свойств.
См. Совет от здесь :
Совет: вызовы addScalar()
были необходимы для HSQLDB, чтобы он соответствовал имени свойства, так как он возвращает имена столбцов в верхнем регистре (например, STUDENTNAME
).Эту проблему также можно решить с помощью специального преобразователя, который ищет имена свойств вместо точного соответствия - возможно, нам следует предоставить метод fuzzyAliasToBean()
;)
Вы можете явно указать имя столбца (вместо этогоиз *
) как показано ниже:
select ID, Name from myTable where....
Обратите внимание, что для столбца Name
сопоставляется имя свойства.
Вы можете создать псевдоним столбца в своем SQL;но выше решение лучше.
Вы можете использовать пользовательский трансформатор.