我有一个 JPA 查询:
<named-query name="AUDIT_QUERY">
<query>
select rx.rxNumber, rx.rxFillStatus.id, tx.rx.rxaaId, tx.id, tx.drugUpc.id,
tx.compound.id, tx.tpSpecialServiceFee.id,tx.txHistoryDrugUpc.id,
tx.txHistoryCompound.id, tx.txHistoryTpSpecialServiceFee.id,
tx.txHistoryRx.id, tx.txNumber,tx.txStatus.id,tx.txAdjudicationStatus.id,
tx.serviceDate, tx.createDatetime, tx.txQuantity, tx.remainingQuantity, tx.daysSupply,
tx.ppTotal, tx.tpPaidTotal, tx.adjustedTotal, sig.sigDescriptionStoreLanguage ,
sig.sigDescriptionPatientLanguage , tx.serviceDate
from
Rx rx JOIN FETCH Tx tx JOIN TxSig sig WHERE rx.rxaaId = tx.rx.rxaaId
and tx.txSig.id = sig.id WHERE
rx.patient.id = ?
order by tx.serviceDate desc, tx.txNumber desc,
tx.id desc
</query>
</named-query>
解析时,休眠抛出错误:
org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: WHERE near line 1, column 620 [select rx.rxNumber, rx.rxFillStatus.id, tx.rx.rxaaId, tx.id, tx.drugUpc.id, tx.compound.id, tx.tpSpecialServiceFee.id,tx.txHistoryDrugUpc.id, tx.txHistoryCompound.id, tx.txHistoryTpSpecialServiceFee.id, tx.txHistoryRx.id, tx.txNumber,tx.txStatus.id,tx.txAdjudicationStatus.id, tx.serviceDate, tx.createDatetime, tx.txQuantity, tx.remainingQuantity, tx.daysSupply, tx.ppTotal, tx.tpPaidTotal, tx.adjustedTotal, sig.sigDescriptionStoreLanguage , sig.sigDescriptionPatientLanguage , tx.serviceDate from com.sdm.hw.rx.dao.entity.Rx rx JOIN FETCH Tx tx JOIN TxSig sig WHERE rx.rxaaId = tx.rx.rxaaId and tx.txSig.id = sig.id WHERE rx.patient.id = ? order by tx.serviceDate desc, tx.txNumber desc, tx.id desc]
任何帮助将不胜感激。
谢谢, 吉里拉杰