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

在Hibernate中使用createSQLQuery获取count(*)?

东方志尚
2023-03-14
问题内容

我有几个SQL查询,我只是想在数据库上触发。我在整个应用程序中都使用休眠方式,因此我更喜欢使用休眠方式来调用此sql查询。

在下面的示例中,我想获取count +名称,但是当我使用createSQLQuery()时无法弄清楚如何获取该信息。

我已经看到了一些解决方法,人们只需 要从结果中 得出一个“ count( )”,但是在这种情况下,我使用count( )+一列作为输出

SELECT count(*), a.name as count FROM user a
WHERE a.user_id IN (SELECT b.user_id FROM user b)
GROUP BY a.name
HAVING COUNT(*) BETWEEN 2 AND 5;

仅供参考,如果我直接在数据库上调用上面的查询,将提供这样的结果:

1, John
2, Donald
1, Ralph
...

问题答案:

为信息Thomas喝彩,为生成对象而努力

我最初查询时遇到的问题是,当我将名称更改为其他名称时,“ count”是保留字:P。



 类似资料:
  • 问题内容: 我有几个SQL查询,我只是想在数据库上触发。我在整个应用程序中都使用hibernate方式,因此我更喜欢使用hibernate方式来调用此sql查询。 在下面的示例中,我想获取count +名称,但是当我使用createSQLQuery()时无法弄清楚如何获取该信息。 我已经看到了一些解决方法,人们只需 要从结果中 得出一个“ count( )”,但是在这种情况下,我使用count(

  • 问题内容: 我使用的是与Hibernate中(没有硬编码值)。我想知道Hibernate 用于什么? 关心: 我想将此查询创建的执行计划保留在缓存中,以便下次在数据库上触发相同的查询时,它将使用相同的执行计划。 仅供参考: 我正在使用MSSQL Server 2008 我找不到stackoverflow链接,甚至在Google中也找不到,所以请提供我的链接(如果有)。 问题答案: 我试图使用Hib

  • 问题内容: 我有几个要查询的带有复合主键的sql视图,由于Hibernate使得使用复合键很麻烦,因此我正在使用。问题在于此方法只能返回一个List,而我需要通过其索引来引用列。 我有什么机会可以做类似jdbc的事情,并通过其sql名称而不是其索引来引用这些列? 问题答案: 从代码中可以看出,列表包含代表每一行的Map对象。每个Map对象将具有列名作为键,并将值作为值。 注意:这适用于SQLQue

  • 代码如下: 运行时,会出现错误 原因:org。冬眠QueryParameterException:位置超出已声明序数参数的数量。请记住,序数参数是基于1的!职位:1 被抛出,我知道这是由sql字符串中的'--'引起的,hibernate将其解释为sql注释, 我试着用 这可以成功运行,但是输出变成\-\-,但是我想要的是——在输出中。 那么如何在hibernate中转义--? 如果我运行selec

  • 问题内容: 我有一个包含以下内容的实体: 如您所见,有两个集合需要急切加载。这不起作用,并且hibernate会引发异常: 这是因为Hibernate无法一次性获取多个集合。但是,如果我将to 和to 更改为这部分效果很好,但另一个问题发生了。 当我尝试使用以下方法从数据库中获取实体时: 它失败并显示: 我确定传递给方法的ID 不为null,我已经调试了,并且对此有把握。它以某种方式消失在hibe

  • 我正在使用Equinox Eclipse和Hibernate/JPA开发两个OSGI包,试图使用Unmanaged JPA持久化一个实体。 第一个捆绑包:“Testhibernate”是一个捆绑包,它从Hibernate罐中导出所有软件包,并具有一个激活器“org.hibernate.osgi.冬眠捆绑激活器”,它注册OSGI服务并使用Equinox标签Eclipse-BuddyPolicy:已注

  • 我正在为实体对象上的延迟加载集合执行此操作: 我想返回一个实体对象,其中加载了多个延迟加载的集合,我可以这样做吗(传入一个列表并为单个条件设置多个关联?):

  • 我正在尝试使用Hibernate以便从MySQL数据库中获取数据。为了实现这样一个目标,我创造了: > Hibernate配置文件: