0 0

hibernate的hql语句不支持 count(case...when ....else..)10

Hibernate的 HQL 语句不支持 count(case .. when .. else .. end ) 语句,
比如:
  select count(case when age > 25 then name end) as count1 from User;


但是却支持 sum(case .. when .. else .. end) 语句
比如:
  select sum(case when age > 25 then 1 else 0 end) from User


我的 hibernate版本是 3.2.6
很奇怪。。。。

问题补充:
如何是执行 sql 语句,在 mysql,oracle 下都是正确的

select count(*) count1, count(case when age > 25 then name else null end) from user

关键就是: 同是聚集函数,sum 就OK, 而 count 就不行...........
2008年9月23日 16:35

2个答案 按时间排序 按投票排序

0 0

额~~~case when 原来Oracle也有....-_-!
不能解楼主的问题了....

不过不知道楼主是不是这个问题。
Hibernate的count只能用count(*),我试过count(0)什么的都是不行的。那能不能认为这是HQL的语法呢.

2008年9月27日 09:39
0 0

select count(case when age > 25 then name end) as count1 from User;  

这个是mysql的写法。Oracle就是Decode了。
想想hibernate也不会支持吧。不过有没有其它办法就不知道。
估计是没有。

2008年9月23日 22:20

相关推荐

    HQL语句(结合实例).doc

    HQL语句(结合实例).doc HQL语句(结合实例).doc HQL语句(结合实例).doc

    weblogic12 下 org.hibernate.hql.ast.HqlToken

    通过以上步骤,可以有效地解决WebLogic 12环境中因Hibernate版本不兼容而导致的`org.hibernate.hql.ast.HqlToken`类冲突问题。这种方法不仅适用于WebLogic 12,对于其他版本的WebLogic服务器同样适用,关键在于正确...

    Hibernate HQL查询 分页查询 模糊查询.docx

    HQL支持各种复杂的查询,包括但不限于分页查询、模糊查询等。 #### 二、HQL基本查询 在给定的代码示例中,展示了如何进行简单的HQL查询。例如: ```java final String hql = "from User as u where u.name = :...

    Hibernate HQL查询语句总结.docx

    Hibernate HQL 查询语句总结 Hibernate HQL 查询语句是 Hibernate 框架中的一种查询语言,它提供了更加丰富的和灵活的查询特性,具有类似标准 SQL 语句的查询方式,同时也提供了更加面向对象的封装。以下是 ...

    hibernate-core-5.0.11.Final.jar

    Hibernate Core是Hibernate框架的基础部分,它包含了ORM的核心功能,如实体管理、事务处理、查询语言(HQL)等。`5.0.11.Final`版本是一个稳定且广泛使用的版本,提供了诸多改进和优化。 二、源码结构解析 `...

    hibernate-hql-lucene-1.0.1.Final.zip

    3. **Hibernate HQL与Lucene集成**:将Hibernate的ORM能力与Lucene的全文搜索能力结合,可以创建强大的搜索功能,允许用户通过自然语言查询数据库中的对象,而无需关心底层的SQL语句。 4. **Pact**:Pact是一种消费...

    Hibernate中HQL语句的使用[参考].pdf

    Hibernate中HQL语句的使用 HQL(Hibernate Query Language)是 Hibernate 框架中的一种查询语言,它允许开发者使用面向对象的方式来查询数据库。HQL语句的使用是Hibernate中最重要的部分之一,本文将详细介绍HQL...

    hibernate3.zip 包含hibernate3.jar

    4. **Criteria查询**:除了SQL和HQL(Hibernate查询语言),Hibernate还提供了`Criteria` API进行动态查询。开发者可以通过`Criteria`对象构建查询条件,无需编写字符串查询,提高了代码的可读性和可维护性。 5. **...

    hibernate-release-4.3.1.Final.zip

    同时,Hibernate提供了HQL(Hibernate Query Language)和Criteria API等高级查询方式,使得查询更加灵活和强大。 总的来说,这个压缩包是Hibernate的一个完整发行版,包含所有必要的组件,适合于基于SSH框架的Java...

    hibernate-release-5.0.7.Final.zip

    - Criteria API:提供了一种更灵活、更类型安全的方式来执行查询,替代了传统的HQL(Hibernate Query Language)。 - Object-Relational Mapping:通过XML或注解方式定义实体类和数据库表之间的映射关系,实现对象...

    Hibernate框架]Hql语句in中带参数的写法

    Hibernate框架Hql语句in中带参数的写法 Hibernate框架中,在使用HQL语句时,需要传递参数,而在HQL语句中使用in关键字时,需要特别注意参数的传递方式。在本文中,我们将讨论如何在HQL语句中使用in关键字带参数的...

    经典hibernate教程-HQL语句

    HQL的全称是?...HQL语句为:select jd.jdid,jd.jd from TblJd jd。怎样获得并显示查询结果? 使用'?'做占位符的参数查询,怎样设置参数的值? 命名参数查询的语法是? 怎样创建Criteria查询对象?

    hibernate-release-4.2.4.Final.zip

    8. **HQL(Hibernate Query Language)**: Hibernate 提供了自己的查询语言HQL,它是面向对象的,与SQL类似但更接近Java,可以方便地进行对象级别的查询,避免直接写SQL带来的麻烦。 9. **事务管理**:Hibernate...

    hibernateHQL关联查询

    4. **全外连接(Full Outer Join)**:虽然HQL本身不支持全外连接,但可以通过组合左外连接和右外连接来模拟实现。 #### 五、应用场景 在实际开发中,HQL关联查询的应用场景非常广泛,特别是在需要跨多个实体进行...

    Hibernate-HQL.rar_HQL_hibernate hql

    本篇文档将深入探讨Hibernate中的HQL(Hibernate Query Language),一种面向对象的查询语言,它提供了与SQL类似的语法,但更贴近于面向对象的思维模式,使得开发者可以更加便捷地进行数据查询。 一、HQL简介 HQL是...

    Hibernate hql查询语法总结

    HQL支持SQL的连接查询,包括内连接、左外连接、右外连接和全连接(不常用)。例如,使用内连接: ```java select a.id, b.id from A a inner join B b on a.id = b.id ``` 等价于SQL中的`INNER JOIN`。查询结果通常...

    hibernate-release-4.2.15.Final.zip

    3. **查询语言HQL**:Hibernate Query Language,一种面向对象的查询语言,类似于SQL,但更贴近于Java对象模型,支持复杂的查询操作。 4. ** Criteria API**:提供了更加灵活的查询方式,可以在运行时动态构建查询...

    hibernate hql where语句拼接工具类

    if (hql.endsWith("WHERE") || hql.endsWith("AND")) { return hql + " " + condition; } else { return hql + " WHERE " + condition; } } public static String appendOrCondition(String hql, String ...

    HQL语句 HQL语句

    HQL语句 HQL语句 HQL语句 HQL语句 HQL语句

    weblogic10.3 org.hibernate.hql.ast.HqlToken报错问题

    由于WebLogic 10.3发布于2010年,而Hibernate框架也在不断发展,因此可能遇到的是由于旧版本Hibernate对新HQL特性的不支持所导致的问题。 要解决这个问题,我们可以尝试以下步骤: 1. **检查HQL查询**:首先,确保...

Global site tag (gtag.js) - Google Analytics