嘗試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