2011-11-30 44 views
0

我正在將NHibernate從v 2.0升級到3.2。我們所有的單元測試工作,除了其中一個嘗試執行HQL查詢確定:由於NHibernate升級,HQL查詢生成AntlrRuntime.NoViableAltException

select from SkillRequirementCoverage src inner join src.Skill as skill inner join src.User as user inner join src.Job as job left outer join skill.SkillDomain as skillDomain where src.ApplicationId = ? and user.Category = ? 

從而未能與ANTLR的例外 - 這是以前的工作。

的查詢使用HibernateTemplate.Find<T>(hqlRequest, parameters);

任何人任何想法執行?

回答

1

NH2.0中的HQL解析器不如最新版本那麼嚴格。至少在NH3.2中,如果沒有指定列,則查詢不應以select開頭。以下表格有效:

from Entity e 

select e from Entity e 

select e.PropA from Entity e