当前位置: 首页 > 面试题库 >

如何从休眠查询中获取java.util.Map?

尚景焕
2023-03-14
问题内容

我想知道什么是从hibernate查询中获取地图数组的最佳方法。Google表示要迭代query.list(),然后将对象创建/放入空地图数组。
我想会有一些优雅而有效的方法来做到这一点。有人可以给我个主意吗?


问题答案:

参见Hibernate文档-15.6。select子句:

您可以使用以下方式为选定的表达式分配别名:

select max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n
from Cat cat

与选择新地图一起使用时,这非常有用:

select new map( max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n )
from Cat cat

该查询返回一个从别名到所选值的映射。



 类似资料:
  • 问题内容: 实际上,我有一个SQL查询可以很好地与数据库一起运行。但是,我的问题是我想在查询中编写该查询。 我的SQL查询是 我希望它由hibernate模板执行。 如何将其转换为查询? 问题答案: 如果要使用查询,则下面是hibernate查询的示例,但是在您的情况下,我们需要映射文件以查看实体之间的关联。希望下面的查询对您有所帮助。 要么

  • 问题内容: 我在使用Hibernate创建子查询时遇到问题。不幸的是Subqueries类几乎完全没有文档,因此我完全不知道如何将以下SQL转换为Hibernate Criteria: 我希望以下内容能够“正常工作”: 但不幸的是,事实并非如此。因此,看来我实际上必须使用Subqueries类来创建Criteria。但是我无法通过Google找到一个合理的例子,因此这使我在这里提出了疑问。 问题答

  • 问题内容: 我在代码中使用了条件查询。它总是会开火 相反,我想忽略查询中的一列(字段),因为该字段以字节为单位存储大量数据。这会导致性能问题。 有人可以对此提出想法吗? 一些更新 我在查询中添加了一个投影,它创建了一个查询,例如… 现在的问题就像.. 和y8_的相同错误,y5_表示所有接近它给出错误的地方。 我将其修改为Query … 而且有效。但是我不知道如何在HQL中对其进行修改? 问题答案:

  • 问题内容: 我想从hibernate会话中获取jdbc连接。hibernate会话中有方法,即session.connection();。但已被弃用。我知道这仍然有效,但是我不想使用已弃用的方法,因为我确定他们必须为此提供一些替代方法?在http://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/Session.html上,连接方法api表示

  • 问题内容: 当我尝试从数据库中删除条目时,使用 然后我可以执行以下操作: 1)如果该行存在于数据库中,则将执行两个SQL查询:一个选择,然后一个删除 2)如果数据库中不存在该行,则仅执行选择查询 但是同样,更新不是这种情况。无论是否存在数据库行,都只会执行更新查询。 请让我知道为什么这种行为用于删除操作。这不是性能问题,因为遇到了两个查询而不是一个查询? 编辑: 我正在使用休眠3.2.5 样例代码

  • 问题内容: sess.createSQLQuery(“INSERT INTO ARCHIVE (folder) VALUES(:folder)”) .setParameter(“folder”,path) .executeUpdate(); 我想要新创建对象的ID。我怎样才能做到这一点? 问题答案: 试试吧 Integer lastId = (Integer) session.createSQLQ