我已经看到几页接近这一点,但我正在寻找一个更简单的答案。
我有一个可以引用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
子句而不是属性。
这样做的正确方法是什么?
答案 0 :(得分:2)
您的HQL中是否存在语法错误?
where statement.FinancialStatementId := statementId
实际应该是:
where statement.FinancialStatementId = :statementId