java - Hibernate DB2 ROW_NUMBER() 错误

标签 java hibernate db2

当我使用 DB2 的 ROW_NUMBER() 时,我在 Hibernate 中遇到问题,它显示 QueryException:未定义的别名:ROW_NUMBER。该怎么办?谢谢

String strQuery= " SELECT c_.name, c_.id, c_.description, ROW_NUMBER() OVER(ORDER BY     
                   c_.name) AS rownum FROM Category as c_ ";
Query query = getHibernateTemplate().getSessionFactory().
getCurrentSession().createQuery(strQuery);

最佳答案

ROW_NUMBER() 在 DB2 中不是有效函数,但在 SQL Server 中却有效。您需要 rownumber() 函数。将您的查询更改为以下内容,它应该可以工作:

String strQuery= " SELECT c_.name, c_.id, c_.description, rownumber() OVER(ORDER BY     
               c_.name) AS rownum FROM Category as c_ ";

关于java - Hibernate DB2 ROW_NUMBER() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7802172/

相关文章:

java - Firebase Firestore 集合的最大值

spring-boot:如果密码失败,则在没有数据库的情况下启动应用程序

join - DB2 WITH 语句能否用作 UPDATE 或 MERGE 的一部分?

database - 如何使用错误消息中指定的 tbspaceid tableid 在 DB2 中查找表和列

java - 不同 JPanel 的鼠标监听器事件

java - 通过 JDBC 获取 JList 中的数据 - 缺失的链接

java - 字段 jdbcTemplate 需要类型为 'org.springframework.jdbc.core.JdbcTemplate' 的 bean,但无法找到

hibernate - 如何在Grails域类中将自定义监听器写入更新前事件

java - derby + hibernate ConstraintViolationException 使用多对多关系

sql - 合并两个表,旧列的新列之和