0

これに近いページをいくつか見たことがありますが、もっと簡単な答えを探しています。

エンティティを参照できるオブジェクトがありますFinancialStatementLine。HQL を使用して、特定の条件に一致するが関連付けられたオブジェクトを持たないエンティティを見つけたいと考えています。私の HQL ステートメントは次のようになります。PaymentFinancialStatementLinePayment

var query = _Session.CreateQuery(
    @"select lines from FinancialStatementLine lines
        inner join fetch lines.Statement statement  
        where statement.FinancialStatementId := statementId
        and lines.Payment is null
        and length(lines.CheckNumber) > 0")
    .SetParameter("statementId", financialStatementId);

それが答えのようですが、私はNHibernate.Hql.Ast.ANTLR.QuerySyntaxException(Antlr.Runtime.NoViableAltException) を取得しており、私が間違っていると想像できる唯一のことis nullは、プロパティの代わりに関連付けられたエンティティで句を使用しようとしていることです。

これを行う適切な方法は何ですか?

4

1 に答える 1

2

HQL に構文エラーはありませんか?

where statement.FinancialStatementId := statementId

実際には次のようにする必要があります。

where statement.FinancialStatementId = :statementId
于 2012-06-23T18:17:41.893 に答える