hibernate中的HQL子查询

时间:2018-04-24 08:32:47

标签: 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 个答案:

答案 0 :(得分:0)

可能您收到语法错误,因为HQL在SELECT子句后不支持FROM

"select * from " + 
            "(select

您需要重新考虑SQL以在HQL上编写它。