日期:2014-05-17  浏览次数:20738 次

采用JPA规范javaEE实现开发时query.getResultList()获取到的集合自动排序的问题
如题 jpql语句是“select p from Porduct p where p.id in()”这里我有2个问题
1:javaEE实现的jpa规范中query对象好像没有直接给参数设置集合的方法,如果是这样那么就只能通过拼字符串的方式
(?,?,?)然后一个一个setParameter设值吗?还有其他方法吗,hibernate的的query对象是可以设置集合对象的
2: 我id值有6,2,3这3个数,如果用getResultList()方法得到的集合它自动给我按id的升序给我放到了集合中,
但是我的需求是就按照传进来id的顺序查询上来放到集合中,有办法解决吗?
如果说数据量不大的话按照需求一个一个查询上来放到集合中是可以解决的,如果数据量比较大该怎么解决了

就2个问题 希望大侠指点啊


------解决方案--------------------
"如果用getResultList()方法得到的集合它自动给我按id的升序给我放到了集合中,
但是我的需求是就按照传进来id的顺序查询上来放到集合中,有办法解决吗?"

楼主,不会吧,我查的怎么就是按照传进来的顺序呢?
------解决方案--------------------
最好是在hql语句后面拼接自己的order by,这样才最保险,因为环境不一样,hibernate的自然排序可能不一样。