数据检索不是给定的顺序?

时间:2010-11-11 12:17:08

标签: hibernate spring-mvc java-ee

所有的问候 我正在使用spring框架和hibernate与数据库进行通信 我有一个表包含一些假设1,2,3,4,5的记录 当我试图进行HQL查询以检索由id asc排序的数据时 数据以正确的顺序检索,但是当尝试使用增强的for循环来循环数据时,顺序颠倒了,我不知道为什么???????????
List<MyDTO> data = getCurrentSession()
                .createQuery(
                        "from MyDTO where indicator=:indicator order by entityId")
                .setLong("indicator", 10).list();
        System.out.println("First Id In The Query: "
                + data.get(0).getEntityId()); // prints 1

当对它们进行循环时,顺序颠倒

for (MyDTO myObj : data) {
System.out.println("Id: " + myObj.getEntityId());
}
// prints 5,4,3,2,1

为什么会出现这种行为?

1 个答案:

答案 0 :(得分:1)

asc是默认顺序,因此您可以省略它。

否则它应该按预期工作。确保正确迭代列表。