这个HQL查询有什么问题?

时间:2012-04-21 14:48:51

标签: hibernate nhibernate hql

尝试HQL,总NHibernate n00b。

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对象。对象分别以LogsUserProfiles保留在数据库中。

我在var query = ...行上抛出了以下异常:

Exception of type 'Antlr.Runtime.MismatchedTokenException' was thrown.

我不知道这意味着什么,谷歌搜索并不是特别有帮助。我不知道HQL是否存在问题,或者我是否设置了这个问题。任何指导都将不胜感激。

1 个答案:

答案 0 :(得分:2)

我已经多年没有使用过NHIB ...你有没有尝试过最后的声明?可能它是这样的,我总是把它放在最后。