【发布时间】:2016-10-16 07:05:03
【问题描述】:
我有 id 列表,如下所示:5, 3, 2, 4, 1,然后我使用该 id 从 DB 中查询项目。但它们来自 DB 通常按 id 排序,我的意思是 1, 2, 3, 4, 5。我需要将它们重新排列为与它们的 ID 列表相同的顺序。我怎样才能做到这一点?
编辑:澄清一下,因为很多人似乎对这个问题感到困惑。 ID列表用于查询数据库,例如:
SELECT * FROM Foo WHERE id in (5, 3, 2, 4, 1)
Foo 对象的结果列表与 ID 列表的排序方式不同。问题是如何获取与初始 ID 列表顺序相同的 Foo 对象列表。
【问题讨论】:
-
把你的问题看了5遍还是没看懂你的问题
-
不要使用
ORDER BY?向我们展示您的尝试。 -
如果您在数据库中为 ID 5 进行选择,数据库将返回 ID 5 的数据。您是否同时请求不同 ID 的数据?
-
我不明白反对票,这是一个很好的问题!唯一缺少的是您自己尝试过的代码示例。
-
由于为问题选择的标签,不清楚您是否想要一种让数据库按顺序返回行的方法,或者您是否想在之后重新排序列表。在后一种情况下,所有这些特定于数据库的标签都已过时且具有误导性。
标签: java hibernate postgresql java-8 spring-data