0
List<Prize> prizes =
                sessionProvider.getCurrentSession().createQuery("from Prize where id in (:ids)")
                        .setParameterList("ids", prizeIds).list();

我有一个prizeIds 列表,它们不是唯一的。我需要为每个 id 获取 Prize 对象。但是hibernate只返回唯一元素列表。如何获得与输入列表相同大小的列表。

4

2 回答 2

1

您得到的答案是数据库中“in”函数的默认功能。使用存在或不存在子句检索每个 id 的记录。我怀疑你是否也可以使用存在或不存在。

但是,请确保您尝试实现的功能,这在大多数应用程序中并不常见

于 2013-09-20T14:25:06.530 回答
0

更新:您收集的具有多个 id 的东西会改变这些东西。当然,Hibernate 正在做他的工作,所以你必须找到另一个解决方案。

正确回答这个问题:使用“in”不可能得到不明显的结果。

于 2013-09-20T14:23:41.300 回答