我正在尝试使用下面的 hibernate 查询从数据库中获取最后一条记录
//fetch the last data from a field in a table
Session session = _sessionFactory.getCurrentSession();
Query query = session.createQuery("select t.currentfile from file t DESC");
query.setMaxResults(1);
List<Object[]> rows = query.list();
for (Object[] row: rows) {
System.out.println(" ------------------- ");
System.out.println("current file: " + row[0]);
}
使用上面的 hql 我收到此错误:
ERROR: org.hibernate.hql.internal.ast.ErrorCounter - line 1:45: unexpected token
: DESC
可能出了什么问题?
最佳答案
降序(“DESC”或“desc”)和升序(“ASC”或“asc”)只能与order by子句一起使用。
所以你的代码必须类似于:
Query query = session.createQuery("select t.currentfile from file t
ORDER BY t.time_created DESC");
(time_created
只是一个示例字段,因为您尚未添加表中的字段或按降序排序的字段)
关于java - 错误 : org. hibernate.hql.internal.ast.ErrorCounter - 第 1:45 行:意外标记:从表中获取最后一条记录时的 DESC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39417054/