最近做一个数据的统计,页面上是用的table,每个列头需要排序,这个功能对于单表来说并不复杂,直接把td的id设置成要排序的字段,然后通过字符串凭借,传到后台(接下来会写一篇关于table排序的文章),后台接收后,按照常规来讲,一般拼接hql或是DetachedCriteria就可以了,但现在问题是数据是需要分组后的,而且排序的话,对那些聚合函数算出来的数据排序才是有意义的,问题来了,hibernate分组聚合后的字段,不让自定义别名(我是没试出来,不知哪位高手点拨一二),现在的话我一般用map来接收
如:
LinkedHashMap<String ,String> statusHql=
new LinkedHashMap<String, String>();
statusHql.put("fitName", "fitName");
statusHql.put("insideChange","insideChange");
statusHql.put("outsideChange","outsideChange");
statusHql.put("total","total");
statusHql.put("totalRate","totalRate");
statusHql.put("insideChangeRate","insideChangeRate");
statusHql.put("outsideChangeRate","outsideChangeRate");
/*
前面存入的是在页面上定义的td的Id,后面是字段或者表达式如sum(case when) 等 */
注:LinkedHashMap是按插入顺序排序的
这样的话在orderby的时候直接statusHql(key)就ok了,既拼接了查询的内容,又拼接了orderby语句。
这样做没根本解决上面说的那个问题,因为加入在groupby之后再来用聚合函数排序的话,结果会变,所以自定义别名的问题还需另外找方案,这里只是点出了问题所在,总不能用hibernate自己生成的col_0_0_,col_1_0_,col_2_0_这些玩意吧!
分享到:
相关推荐
### Hibernate Criteria 分组、排序与关联查询详解 #### 标题与描述理解 - **标题**:“hibernate criteria 分组 ...以上就是关于Hibernate Criteria API中的分组、排序与关联查询的相关知识点,希望对你有所帮助。
### Hibernate Criteria 排序问题详解 #### 一、前言 在使用Hibernate进行数据库操作时,经常...通过掌握这些知识点,开发者可以更加灵活高效地使用Hibernate Criteria API来进行数据查询和排序操作,提高开发效率。
在使用Hibernate进行数据库操作时,可能会遇到MySQL数据库中文排序不正确的问题。这通常是由于字符集设置、数据库...通过以上步骤,可以有效地解决MySQL数据库在Hibernate中的中文排序问题,确保数据的正确展示和检索。
Hibernate中对表某个字段排序,直接在配置里面实现排序功能。
它提供了丰富的UI组件,如Grid,能够方便地处理数据展示、分页和排序。在这个场景中,`usernamerecord.jsp`是用户界面的入口点,它引用了所需的CSS和JavaScript资源,包括`ext-all.js`和`ext-base.js`,这两个文件是...
标题中的“hibernate和MySQL的jar”指的是Hibernate ORM框架与MySQL数据库之间的连接库。Hibernate是一种流行的Java对象关系映射(ORM)工具,它允许开发者使用面向对象的编程方式来操作数据库,而无需直接编写SQL...
同时,详细解释了HQL的使用,如基本查询、条件查询、分组和排序等。 六、Chapter09:高级特性与最佳实践 这一章节可能涵盖了更复杂的话题,如级联操作、缓存机制、多对一、一对多、多对多关系映射,以及如何优化...
标题"Hibernate_QBC和Hibernate_QBE"提及了两个关于Hibernate的查询方式,即Query By Criteria(QBC)和Query By Example(QBE)。Hibernate是Java领域中一个广泛使用的对象关系映射(ORM)框架,它允许开发者以面向...
《4.Hibernate查询.doc》和《4.Hibernate查询.ppt》将帮助你理解如何使用HQL进行数据检索、过滤和排序,提高开发效率。 4. **Hibernate入门与进阶** 《Hibernate—Java对象持久化技术-Hibernate入门.ppt》适合...
6. **HQL(Hibernate Query Language)**:类似于SQL,但专为ORM设计,HQL允许开发者以面向对象的方式执行数据库查询,支持复杂的查询操作,如关联查询、分组、排序等。 7. **事务管理**:在数据库操作中,事务的...
`Hibernate HQL.ppt`则可能深入讲解HQL的使用,包括如何进行条件查询、分组、排序、联接操作等。此外,可能会涉及到Criteria API,这是另一种在Hibernate中进行动态查询的方式,提供了更加面向对象的查询接口。 总...
- "04-2018-7-8-Hibernate-functiongtest.pptx"可能是关于函数测试和Hibernate的结合,讲解如何使用Hibernate进行功能测试。 - "2018-7-26-Hibernate-加载策略.pptx"可能涉及了Hibernate的对象状态管理,包括延迟...
总结来说,hibernate-extensions和Middlegen-Hibernate是提高Hibernate开发效率的利器,它们通过自动化的方式,帮助开发者快速生成数据库映射文件和Java实体类,使得开发工作更加高效和便捷。合理利用这两个工具,...
总结来说,服务器端的分页和排序是Java Spring与Hibernate框架中不可或缺的功能,它们帮助开发者处理大量数据,提升应用性能。通过合理运用`Pageable`、`Sort`等工具,结合数据库层面的优化,我们可以构建出高效、...
LIST对象排序通用方法HIBERNATE的SET排序.pdf
Hibernate 配置各种数据库 Hibernate 是一个基于 Java 的持久层框架,提供了一个抽象的数据访问层,能够...在 Hibernate 中配置不同的数据库需要选择合适的驱动程序、连接 URL 和方言,以便正确地连接到相应的数据库。
这是Java常用框架阶段在为学生答疑时做的一个SSH整合分页实例(第一部分),涉及了SSH整合、日期模糊查询、查询条件绑定、查询结果排序等功能,希望能为大家提供一些思路。 分页是绝大多数MIS系统必需的功能之一,...
《Hibernate实战》是一部备受赞誉的关于Hibernate框架的专业书籍,被广泛认为是最权威的Hibernate著作之一。该书由Hibernate项目的核心开发者撰写,因此能够提供深入且独特的见解。在出版之初便获得了包括Java ...
Hibernate 是一个基于Java的ORM(Object-Relational Mapping,对象关系映射)框架,它提供了一种简洁高效的方式来访问和操作关系数据库。下面是 Hibernate 的主要知识点: Hibernate 简介 Hibernate 是一个开源的...