【问题标题】:Writing Hibernate Request [closed]编写休眠请求[关闭]
【发布时间】:2013-11-03 15:47:44
【问题描述】:

我想写一个Hibenate Request,我的Sql Request是这样的:

按城市从用户组中选择城市,count(*);

谢谢!

【问题讨论】:

  • SO 不是代码生成器。告诉我们你尝试了什么。顺便说一句,您有很多示例如何在 Hibernate 中执行这样的查询。
  • 也可以通过hibernate请求。搜索sql with hibernate

标签: java sql hibernate jakarta-ee


【解决方案1】:

使用代码sn-p

session.createSQLQuery("Select city , count(*) from user group by city");

Hibernate 可用于在查询中编写原始 SQL 代码。

编辑:

正如建议的那样,hibernate 也有它自己的查询语言 HQL,它允许创建Query。它使用更加用户友好的界面来查询对象而不是表。在您的情况下,查询将重写为

session.createQuery("Select user.city, count(*) from User as user group by user.city");

差别不大,但使用对象 User 而不是 table 及其属性。

使用标准 API 可以使用投影来实现相同的目标

session.createCriteria(User.class)
  .setProjection(Projections.projectionList()
    .add(Projections.rowCount())
    .add(Projections.groupProperty("city"))
  ); 

【讨论】:

  • +1 最好也建议标准和 hql 可能性。
猜你喜欢
  • 2017-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-08
  • 2010-12-31
  • 2017-06-23
  • 2014-12-14
  • 2012-03-10
相关资源
最近更新 更多