报错信息:could not find setter for rownum_用createSQLQuery的方式,查询的结果setResultTransformer()了一下。
并且设置了firstResult和MaxResult.现象:
当firstResult为0的时候,一切正常,当firstResult不为0的时候报 “could not find setter for rownum_”的错误
如果不setResultTransformer,设置的firstResult和MaxResult不受影响。
只有在这两个同事用并且是createSQLQuery的时候才会出现。
用createQuery不会出现。不知道,有没有人遇到过呢?盼高手解答,谢谢!
并且设置了firstResult和MaxResult.现象:
当firstResult为0的时候,一切正常,当firstResult不为0的时候报 “could not find setter for rownum_”的错误
如果不setResultTransformer,设置的firstResult和MaxResult不受影响。
只有在这两个同事用并且是createSQLQuery的时候才会出现。
用createQuery不会出现。不知道,有没有人遇到过呢?盼高手解答,谢谢!
生成的sql语句也正常。
但rownum_如果等于0的时候,hibernate自动生成的sql中只有rownum < ** ,这时候却没有问题,只有在rownum不为0的时候 ,sql中有 rownum < * 和 rownum > *的时候才会出现?
搞不懂!!!!
盼高手解答。谢谢
你要设置分页可以按照如下设置
list = session.createQuery(“HQL语句").setMaxResults(pageSize).setFirstResult(pageSize * (pageNo - 1)).list();自己实践一下 !!你看看我说的对不对!
下面是我写的项目的例子中的一部分你可以参考下:
Session session = null;
List<AcceptanceVehicle> list = null;
list = session.createQuery("from AcceptanceVehicle order by wagonNumber")
.setMaxResults(pageSize).setFirstResult(
pageSize * (pageNo - 1)).list();
。
建议
Query query = session.createQuery(sqlString);
通过query来限定取得的个数
忘记怎么解决的去了
既然createQuery不报错
就用这个好了啊
createSQLQuery这个好像是有点问题的
没有set方法,
重新生成一下get /set 方法
答10楼:主要问题是,系统里有大量采用createSQLQuery的方法,要是全部用createQuery替换,会让人××掉的。
答9,8楼:你们的回答不是我问的问题,可以看看前面的帖子留言,再回答。谢谢