如何使用“in”从hibernate查询中获得非独特的结果

时间:2013-09-20 14:16:46

标签: java hibernate

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

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

更新:您收集的内容有多个ID会更改内容。当然Hibernate正在做他的工作,所以你必须找到另一种解决方案。

正确回答问题:使用“in”不可能获得非独特的结果。