2017-06-19 2 views
0

Common Table Expression Unterstützen ich eine Abfrage, die wie folgt aussieht:überwintert (HQL)

WITH SubQ AS 
    (SELECT elh.encntr_id, elh.location_cd 
    FROM encntr_loc_his elh 
    WHERE ...) 
SELECT e.encntr_id 
FROM encounter e 
WHERE e.location_cd IN 
    (SELECT SubQ.location_cd 
    FROM...) 
... 

einige andere Details in dieser Abfrage sind da, und die SubQ hat viel verwendet. Meine Frage ist, ist es möglich, diese Abfrage in HQL als eine benannte Abfrage (namedquery) zu setzen? Wenn ich versuche, das zu tun und zu kompilieren, wirft er einen Fehler beschwerte sich über Token:

Jun 19, 2017 10:38:58 AM org.hibernate.hql.internal.ast.ErrorCounter reportError ERROR: line 1:1: unexpected token: WITH Jun 19, 2017 10:38:58 AM org.hibernate.hql.internal.ast.ErrorCounter reportError ERROR: line 1:1: unexpected token: WITH line 1:1: unexpected token: WITH

Antwort

0

Hibernate nicht allgemeine Tabellenausdrücke nicht unterstützt, aber wenn Sie möchten, so dass Sie Ihre SubQ Abfrage verweisen können, Sie müssen es nicht als eine Ansicht in der Datenbank definieren und dann eine Hibernate-Entität dieser Ansicht zuordnen.