即使我在谷歌上搜索过,我也想非常确定一件事。ScrollMode.FORWARD_ONLY是否意味着我将按照结果在DB中的顺序接收结果?
我有一些类似的东西:
Scroller<Integer> foundRecs = new Scroller<Integer>(query.scroll(ScrollMode.FORWARD_ONLY));也许是个愚蠢的问题。
发布于 2011-05-04 17:08:25
那个特定的API是Hibernate,我不太了解它,但我猜它最终会映射到TYPE_FORWARD_ONLY ( its documentation也同意这个常量)。
如果是这样,那么no:this 将不会影响返回项目的顺序。
It only 意味着您只能遍历结果一次,并且只能向前导航(不能向后导航)。
数据库实际上并没有存储数据的“顺序”(),因为它们的表是集合(而不是列表)。如果需要对结果进行排序,那么需要在SQL中添加一个ORDER BY (或者您使用的任何查询系统中的等价物)。
发布于 2011-05-04 17:09:12
您不能依赖于数据库中数据的物理顺序。如果您只查询一个表,则此可能会工作,但一旦使用joins,它就会失败。
如果希望数据按特定顺序显示,则需要order BY子句。
https://stackoverflow.com/questions/5880959
复制相似问题