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

使用Hibernate,如何查询表并返回键值对id> name的hashmap?

危砚
2023-03-14
问题内容

我有这张桌子:

table name : Account
Fields : id (varchar), name(varchar), other fields...

我想使用hibernate机制查询该表(以使用第二个缓存级别)。hibernate查询的结果必须是一个哈希映射,其中键是字段ID,值是字段名称。

我如何用HQL编写它?

如果使用map,则只能使用别名,并且如果对对象使用构造函数,则必须将结果转换为hashmap,这非常耗时。

Example : 
Id | name | other fields
1 Jerome ...
2 Steve ...
3 Nick ...

查询的结果必须是hashmap:

1>Jerome
2>Steve
3>Nick

谢谢


问题答案:

这个问题很老,但这可能仍然可以帮助其他人。现在,您可以使用HQL返回带有hibernate状态的地图。使用这样的东西:

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

从hibernate文档中:http :
//docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html#queryhql-
select



 类似资料:
  • 问题内容: 假设我有一个包含3列的表格:Id,类别,名称。 我想以这种方式查询表:为我获取OR或OR的行 如何?不必求助于 我想使用的庞大列表…但是可以将其与2列一起使用吗? 谢谢! 问题答案: 您可以创建一个临时表 然后加入你的主表 如果要从代码中使用该方法,则可以使用表参数进行操作。 定义表类型: 和一个存储的proc将读取数据: 然后,您可以使用C#代码中的代码,例如:

  • 问题内容: 例如,我有两个实体:雇员和地址。在这些实体中,Employee有一个外键AddressID引用了Address上的ID列。在Java域对象中,Hibernate很好地将forgein键整数字段与Address对象字段包装在一起。但是现在,如何查询具有特定AddressID的Employee? 我试图创建一个表别名。这似乎可行,但相当尴尬。 我也曾尝试做这样的事情: 它有时会起作用,但并

  • 我在Oracle SQL Developer中创建了三个表,即 。表是连接表,因为和之间的关系是。 在hibernate中,我为和表创建了两个hibernate类和, 和表在hibernate类中定义如下: 我用一些记录填充了表和,连接表自动填充了一些记录。现在我目前面临的问题是,我想使用hiberante在连接表上使用一个简单的选择语句,如下所示: 我怎么能做到这一点,尽管联接表'Employe

  • 我是mongoDB的新手,使用2.6.4版。我被困在编写mongo查询和在这里寻求专家的帮助。 我在myCollection中有以下示例文档: 如何编写mongo查询,从满足以下条件的myCollection中提取文档: 返回所有只有标记状态记录的msgID(即排除那些具有INITIATED或CLOSED状态条目的msgID)。 以及时间发送的位置 预期结果为: 我知道在SQL中,这可以通过以下查

  • 我试图通过使用以下针对oracle数据库的SQL查询,将创建/修改的行恢复一小时 从文件内容中选择*行 我试图实现同样的在我们的java应用程序中使用以下hiberNate命名查询 @namedQuery(name="FileContent.findsent", query="从文件夹c中选择idc.rowmoddt 但它没有给出预期的数据。 请帮我做这个。 谢谢

  • 我正在开发一个团队聊天应用程序。我在Firebase里存储聊天数据。 聊天存储在名为的节点下。 的每个直接子组都是一个团队的名称(如WhatsApp...chat groups)。 节点包含所有聊天消息。聊天消息已存储 父节点的格式为 我的问题 遗憾的是,上面的代码没有返回任何值。甚至没有调用 。而且它也不调用oncanceled。(所以,没有错误)。 我被这个吓坏了。请帮帮我.