Hibernate:hql语句执行sql不支持limit和count()的处理

北城余情 提交于 2020-02-11 21:00:06

背景:hibernate-core-4.1.7执行sql语句时,发现报错

1、执行 select coutn(1) from t_table时报: unexpected token: 1

解决:

        StringBuffer hql = new StringBuffer();
        hql.append("from Object ");
        ...
        // hql语句中不支持count(1),改成如下形式可以使用
        String queryCount = "select 'count(1)' " + hql.toString();// 写法不好,不推荐
        queryCount = "select sum(1) " + hql.toString();//这种写法支持

2、unexpected token: 1

解决:

        Query query  = sessionFactory.getCurrentSession().createQuery(hql);
        query.setMaxResults(pageSize);// 显示的条数
        query.setFirstResult(index);// 从第几条记录开始
        List<T> list = query.list();// 转化成集合

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!