我必须为其中一个子查询编写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;
}
任何人都可以提供帮助吗
答案 0 :(得分:0)
可能您收到语法错误,因为HQL在SELECT
子句后不支持FROM
:
"select * from " +
"(select
您需要重新考虑SQL以在HQL上编写它。