HQL подзапросы в спящем режиме

Я должен написать hql для одного из подзапросов. Я получаю исключение Querysyntax.

Ниже мой код.

public List<URPTempSensor> findTempSensorObjs(String systemId, Character isLatest) {

    Map<String,Object> params = new HashMap<String,Object>();
    List<URPTempSensor> tSensorList = new ArrayList<URPTempSensor>();
    params.put("systemId", systemId);
    params.put("status", isLatest);
        String sql = 
            "select * from " + 
                "(select tsensor.time, tsensor.tId from URPTempSensor tsensor where " +
                "tsensor.isLatest=\'"+isLatest+"\' and tsensor.urpTempSystemId.systemId=\'"+systemId+"\' order by time desc)where rownum<=3";
    tSensorList = this.urpTempDao.find(sql,params);
    return tSensorList;
}

может кто-нибудь помочь в этом

1 ответ

Возможно, вы получаете синтаксическую ошибку, потому что HQL не поддерживает SELECT после FROM пункт:

"select * from " + 
            "(select

Вам нужно переосмыслить свой SQL, чтобы написать его на HQL.

Другие вопросы по тегам