2012-04-21 14 views
1

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.SeverityOrHigherIList<string>返します。

Logオブジェクトは、UserProfilesオブジェクトを多対1の形で参照しています。オブジェクトは、それぞれLogsUserProfilesという名前でデータベースに保持されます。

私はvar query = ...ラインで投げ、次の例外を取得しています:

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

私は何をそれでも意味が分からない、とGoogle検索は特に便利ではなかったです。私はHQLに問題があるかどうか、またはこれを設定する方法はわかりません。どんな指導も高く評価されます。

+0

これはリストで、空ではありません。 –

答えて

2

私は年齢のためにNHibを使用していません...最後にステートメントで注文を入れようとしましたか?おそらく、私はいつも最後に置いて、これのように働いています。

+0

それはそうしました。私は、エラーメッセージがあまり秘密ではなかったと思います。 –

+0

その例外メッセージはそれほど役に立ちませんでした。 –

関連する問題