尝试HQL,总的NHibernate的n00b。这个HQL查询有什么问题?
public IEnumerable<Log> GetLast(int numRecords, string severity)
{
var query = _Session.CreateQuery(
"from Log as l inner join fetch l.UserProfile order by l.TimeStamp desc where l.Severity in (:severities)")
.SetParameterList("severities", Translator.SeverityOrHigher(severity))
.SetMaxResults(numRecords)
.Enumerable<Log>();
return query;
}
Translator.SeverityOrHigher
返回IList<string>
。
我有一个Log
对象,它以多对一的方式引用了一个UserProfiles
对象。这些对象持久化到数据库分别Logs
和UserProfiles
。
我得到以下异常扔到var query = ...
行:
Exception of type 'Antlr.Runtime.MismatchedTokenException' was thrown.
我不知道,即使是手段,而谷歌搜索是不是特别有帮助。我不知道HQL是否有问题,或者我设置的方式。任何指导将不胜感激。
这是一个列表,它不是空的。 – 2012-04-21 15:01:51