【问题标题】:Efficient way of Retrieving data for multiple rows simultaneously同时检索多行数据的有效方法
【发布时间】:2011-12-03 12:13:05
【问题描述】:

当我们尝试检索数组列表的数据时,我们正在迭代每一行,然后我们正在使用 fetch 查询。在 hibernate 模板或 sql 中是否有任何其他迭代行

for (RequestObjRel reqObjRel : requestObjRelList) {

    String sqlQuery = "from Ce where cerId = '"
            + reqObjRel.getCed()
            + "' and trbr = "
            + reqObjRel.getCNbr();
    List<Certificate> certDetailList = dao
            .retrieveTableData(sqlQuery);
}

我找不到有效的方法来检索数据

【问题讨论】:

  • 在单个查询中获取数据...
  • @MitchWheat 我该怎么做?

标签: database hibernate spring jakarta-ee


【解决方案1】:

您可以创建一个使用IN 子句的HQL 查询,从而通过一个查询获取多个对象。比如:

from Foo foo where foo.id in (:fooIds)

然后你在Query对象上设置参数:query.setParameter("fooIds", listOfIds);

【讨论】:

  • 谢谢,但可以传递多个参数。
  • 参数是一个List,包含你对象的所有id
  • hmm..但是如果我们复合主键而不是可用选项
  • 最后一个问题,上面的查询将如何改变
  • 查询本身不会。只是您传递的列表将包含复合 ID
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-28
  • 2016-06-06
  • 2014-02-03
  • 2017-01-06
  • 1970-01-01
  • 2013-06-21
  • 1970-01-01
相关资源
最近更新 更多