Oracle
 sql >> Database >  >> RDS >> Oracle

Eccezione di sospensione La query non è terminata correttamente

Non è possibile utilizzare un parametro in una query del genere. Senza entrare nella logica alla base di questo, l'opzione migliore è concatenare la stringa di query prima di creare una query

String queryString = "select COUNT(tl.LOG_ID) AS EVTCOUNT,tl.PRIORITY FROM Customer_" + custId + " tl Where tl.DEVICE_REPORTED_TIME >= SysDate-90 GROUP BY tl.PRIORITY ORDER BY tl.PRIORITY";
Query query = session.createSQLQuery(queryString);

MODIFICA

Per quanto riguarda NamedQueries, vengono compilati all'avvio dell'applicazione, quindi non credo ci sia un modo per modificare l'entità di destinazione (tabella) in fase di esecuzione.