HQL запросов к базе данных PostgreSQL:HQL 42P01: отсутствует С-п запись для таблицы
var checkLines = _Session.CreateQuery(
@"select lines from FinancialStatement statement
inner join fetch statement.FinancialStatementLines lines
where statement.FinancialStatementId = :statementId
and lines.TransactionType = :transactionType
and length(lines.CheckNumber) > 0")
.SetParameter("statementId", statement.FinancialStatementId)
.SetParameter("transactionType", TransactionTypes.Debit)
.List<FinancialStatementLine>();
Запрос выглядит нормально для меня, но я новичок в HQL. Может ли кто-нибудь сказать мне, что я делаю неправильно? Я предполагаю, что проблема связана с HQL, пожалуйста, дайте мне знать, если вы думаете, что мне нужно искать в другом месте.
СЮЖЕТ загустеет
При рассмотрении запроса, созданного выше HQL, я обнаружил, это выглядит следующим образом:
select
financials1_.LineId as LineId14_,
financials1_.FinancialStatementId as Financia2_14_,
financials1_.APPaymentID as APPaymen3_14_,
financials1_.EffectiveDate as Effectiv4_14_,
financials1_.Amount as Amount14_,
financials1_.TransactionType as Transact6_14_,
financials1_.CheckNumber as CheckNum7_14_,
financials1_.Description as Descript8_14_,
financials1_.VendorDescription as VendorDe9_14_,
financials1_.FinancialStatementId as Financia2_,
financials1_.LineId as LineId
from
FinancialStatements financials0_
where
financials0_.FinancialStatementId=:p0
and financials1_.TransactionType=:p1
and length(financials1_.CheckNumber)>0
... теперь, WTF? Алиасы предложения select
не существуют в предложении from
, что объясняет ошибку, но, конечно, не является причиной ошибки.
Как я могу обойти это?
Но какова полная ошибка и трассировка стека? –