HQL关联对象不存在

时间:2012-06-23 15:02:49

标签: hibernate nhibernate hql

我已经看到几页接近这一点,但我正在寻找一个更简单的答案。

我有一个可以引用FinancialStatementLine实体的对象Payment。我想使用HQL查找符合特定条件的FinancialStatementLine实体,但具有关联的Payment对象。我的HQL语句如下所示:

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子句而不是属性。

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

您的HQL中是否存在语法错误?

where statement.FinancialStatementId := statementId

实际应该是:

where statement.FinancialStatementId = :statementId