【发布时间】:2017-12-06 10:34:03
【问题描述】:
我有 Route Entity 类,当我要在 HQL 查询中从该表中获取所有数据时,我得到一个只有一列的错误。
Route.class :-
@Entity
public class Route {
@Id
private long routeID;
private String start;
private String end;
private String routeNo;
private double startLat;
private double startLon;
private double endLat;
private double endLon;
}
DataFetch.Class :-
public class DataFetch{
public void FetchRoutes(){
Query q = session.createQuery("select routeID,routeNo,start,end from Route ");
List<Object[]> routes = (List<Object[]>) q.list();
for (Object[] r : routes) {
System.out.println("id: "+r[0]);
System.out.println("No: "+r[1]);
System.out.println("start: "+r[2]);
System.out.println("end: "+r[3]);
}
}
}
在 DataFetch.class 中,如果我从查询 q 中删除“end”列,则没有错误。但是如果我再次添加 end ,如图所示这个问题,它会给出一个错误。 下面我将我的错误显示为屏幕截图。
有什么问题?
【问题讨论】:
-
END是保留字?尝试引用它,例如"end"... -
"end" 可能是保留字。尝试转义:stackoverflow.com/questions/5686412/…
-
end 是 HQL/SQL 关键字,因此您可能需要对其进行转义。
-
感谢您的帮助!