`
AngelAndAngel
  • 浏览: 235531 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于HIbernate分组 排序的一点经验(和疑惑)

阅读更多
         最近做一个数据的统计,页面上是用的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_这些玩意吧!
0
0
分享到:
评论
1 楼 rayshun 2012-11-13  
遇到同样的问题,关注

相关推荐

    hibernate criteria 分组 排序 关联

    ### Hibernate Criteria 分组、排序与关联查询详解 #### 标题与描述理解 - **标题**:“hibernate criteria 分组 ...以上就是关于Hibernate Criteria API中的分组、排序与关联查询的相关知识点,希望对你有所帮助。

    Hibernate中对表某个字段排序

    Hibernate中对表某个字段排序,直接在配置里面实现排序功能。

    Hibernate Criteria 排序的問題

    ### Hibernate Criteria 排序问题详解 #### 一、前言 在使用Hibernate进行数据库操作时,经常...通过掌握这些知识点,开发者可以更加灵活高效地使用Hibernate Criteria API来进行数据查询和排序操作,提高开发效率。

    解决Hibernate中MySQL的中文排序

    在使用Hibernate进行数据库操作时,可能会遇到MySQL数据库中文排序不正确的问题。这通常是由于字符集设置、数据库...通过以上步骤,可以有效地解决MySQL数据库在Hibernate中的中文排序问题,确保数据的正确展示和检索。

    ExtJs+Dwr带分页分组传参后台排序功能的grid

    它提供了丰富的UI组件,如Grid,能够方便地处理数据展示、分页和排序。在这个场景中,`usernamerecord.jsp`是用户界面的入口点,它引用了所需的CSS和JavaScript资源,包括`ext-all.js`和`ext-base.js`,这两个文件是...

    hibernate和MySQL的jar

    标题中的“hibernate和MySQL的jar”指的是Hibernate ORM框架与MySQL数据库之间的连接库。Hibernate是一种流行的Java对象关系映射(ORM)工具,它允许开发者使用面向对象的编程方式来操作数据库,而无需直接编写SQL...

    关于HIBERNATE矿建

    同时,详细解释了HQL的使用,如基本查询、条件查询、分组和排序等。 六、Chapter09:高级特性与最佳实践 这一章节可能涵盖了更复杂的话题,如级联操作、缓存机制、多对一、一对多、多对多关系映射,以及如何优化...

    Hibernate_QBC和Hibernate_QBE

    标题"Hibernate_QBC和Hibernate_QBE"提及了两个关于Hibernate的查询方式,即Query By Criteria(QBC)和Query By Example(QBE)。Hibernate是Java领域中一个广泛使用的对象关系映射(ORM)框架,它允许开发者以面向...

    北大青鸟Hibernate学习资料

    《4.Hibernate查询.doc》和《4.Hibernate查询.ppt》将帮助你理解如何使用HQL进行数据检索、过滤和排序,提高开发效率。 4. **Hibernate入门与进阶** 《Hibernate—Java对象持久化技术-Hibernate入门.ppt》适合...

    hibernate 3.6 中文 chm

    6. **HQL(Hibernate Query Language)**:类似于SQL,但专为ORM设计,HQL允许开发者以面向对象的方式执行数据库查询,支持复杂的查询操作,如关联查询、分组、排序等。 7. **事务管理**:在数据库操作中,事务的...

    ejb+hibernate资料 ejb+hibernate资料

    `Hibernate HQL.ppt`则可能深入讲解HQL的使用,包括如何进行条件查询、分组、排序、联接操作等。此外,可能会涉及到Criteria API,这是另一种在Hibernate中进行动态查询的方式,提供了更加面向对象的查询接口。 总...

    Hibernate 简单 PPT 总结

    - "04-2018-7-8-Hibernate-functiongtest.pptx"可能是关于函数测试和Hibernate的结合,讲解如何使用Hibernate进行功能测试。 - "2018-7-26-Hibernate-加载策略.pptx"可能涉及了Hibernate的对象状态管理,包括延迟...

    java spring,hibernate之服务器端分页,排序

    总结来说,服务器端的分页和排序是Java Spring与Hibernate框架中不可或缺的功能,它们帮助开发者处理大量数据,提升应用性能。通过合理运用`Pageable`、`Sort`等工具,结合数据库层面的优化,我们可以构建出高效、...

    LIST对象排序通用方法HIBERNATE的SET排序.pdf

    LIST对象排序通用方法HIBERNATE的SET排序.pdf

    Beginning Hibernate: For Hibernate 5

    - **Java 开发者**: 本书面向有一定 Java 和数据库经验但对 Hibernate 不熟悉的开发者。 - **对象关系映射**: 适用于希望学习如何在 Java 中实现对象关系映射的程序员。 - **新手入门**: 适合初学者快速掌握 ...

    Struts+Hibernate+Spring整合分页实例(带排序功能)part1

    这是Java常用框架阶段在为学生答疑时做的一个SSH整合分页实例(第一部分),涉及了SSH整合、日期模糊查询、查询条件绑定、查询结果排序等功能,希望能为大家提供一些思路。 分页是绝大多数MIS系统必需的功能之一,...

    hibernate实战 英文版

    《Hibernate实战》是一部备受赞誉的关于Hibernate框架的专业书籍,被广泛认为是最权威的Hibernate著作之一。该书由Hibernate项目的核心开发者撰写,因此能够提供深入且独特的见解。在出版之初便获得了包括Java ...

    Hibernate入门到精通

    Hibernate 是一个基于Java的ORM(Object-Relational Mapping,对象关系映射)框架,它提供了一种简洁高效的方式来访问和操作关系数据库。下面是 Hibernate 的主要知识点: Hibernate 简介 Hibernate 是一个开源的...

    hibernate基础jar包

    Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者使用面向对象的方式来操作数据库,极大...在实际开发中,还需要了解和掌握更多关于Hibernate的高级特性和最佳实践,以便更高效地利用这个强大的框架。

Global site tag (gtag.js) - Google Analytics