浏览 4901 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-09-28
但在开发过程Hibernate在执行SQL语句时,却执行产生随机数函数时报错。 代码: tringBuffer hql = new StringBuffer("select trunc(dbms_random.value(min(rec_id),max(rec_id)+1)) from MemberInfo tbl "); List list = getHibernateTemplate().find(hql.toString()); return list; 在数据库执行可以得到结果,但在程序中执行出现异常,请大家指正。不胜感激。 报错如下: org.springframework.orm.hibernate3.HibernateQueryException: unexpected AST node: 在网上查询后,无法得到答案。 无奈之下只得提前产生随机数,既而查询时进行 Query q = s.createQuery(hql.toString()); q.setFirstResult(随机数); q.setMaxResults(随机数);进行查询。 不知道是否还有更好的解决办法。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-09-28
个人觉得RandomUtils.nextInt(1000)也可以实现随机查询的条件,但每次只能产生一条随机数,在需求要求中需要查询多条的情况下就有点问题了。
|
|
返回顶楼 | |
发表时间:2006-09-28
shmily 写道 个人觉得RandomUtils.nextInt(1000)也可以实现随机查询的条件,但每次只能产生一条随机数,在需求要求中需要查询多条的情况下就有点问题了。
你写的东西得不到隋机数 种子不变 那么得到的数也不会变的。。。。。 一般会用下一回的结果当种子放入到函数中 static int z = 1000; public int getR(){ z = RadomUtils.nextInt(z); return z; } |
|
返回顶楼 | |