2016-08-09 200 views
0

Hallo ich versuche, die Tabellen mit bestimmten Bedingung zu verbinden, und wenn ich die unten stehende Abfrage ausgeführt und ich erhalte die folgenden Fehlerorg.hibernate.QueryException: unerwartetes Token: MIT in hql

org.hibernate.QueryException: unexpected token: WITH [ 

mein HQL QUERY ist unter ...

> List results1=session.createQuery("select financialDetail from 
> FinancialDetail financialDetail " + 
>    "left join financialDetail.financialClaimHeaderInfo fhdrinfo WITH (fhdrinfo.chk='224') "+ 
>    " where financialDetail.fc=:fc") 
>    .setParameter("fc",fc) 
>    .list(); 

In der financialDetail.hbm Datei habe ich eine Zuordnung zwischen diesen beiden Tabellen wie

<set name="financialClaimHeaderInfo" table="F_CLM_HDR_TB" lazy="true" inverse="true" cascade="all" > 
      <key column="F_FCN_NUM" /> 
      <one-to-many class="com.FinancialClaimHeaderInfo"/> 
     </set> 

Pls mich leiten, was hier nicht stimmt ...

+0

@RealSkeptic: Ich habe gehört, ist ON in hibernate.thats nicht verfügbar warum ich – Saravanan

+0

mit einem korrekten Schlüsselwort wird verwendet? Sie sollten versuchen, 'fhdrinfo.chk =' 224 '' in die Where-Bedingung zu setzen: wo finanzielleDetail.fc =: fc und fhdrinfo.chk = '224' –

+0

meine Anforderung ist, ich brauche alle Zeilen aus financialDetail + Zeilen von fhdrinfo wo fhdrinfo.chk = '224' – Saravanan

Antwort

0

Sie sollten versuchen, 'fhdrinfo.chk =' 224' in die where-Zustand zu versetzen.

where financialDetail.fc=:fc and fhdrinfo.chk='224'