排序后端的所有功能。(MySql& Hibernate

时间:2014-05-19 06:39:36

标签: java mysql hibernate sorting

我正在尝试找到在我的应用程序中实现排序所有功能的最佳方法,我想在UI上进行升序和降序(ExtJs)。每次都有25条记录要显示,用户可以使用UI Opition中的50或100条记录。

由于应用程序中存在现有功能,但它在25,50,100条记录的列表中进行排序ASC或DESC,而不是来自数据库的所有给定记录。

根据网上提供的一些建议,有人说让hibernate处理它,有人说让后端处理它。

但是我认为这个方法稍微复杂一点,因为这个方法从很多不同的表中获取数据,所以我们现在在一个字段上进行排序,我们稍后加载对象图以提高性能。

因此,如果您对我们如何采用开箱即用的方法有任何见解,那么对我来说真的很有见地

我正在使用Hibernate for ORM,Spring Container和MySql作为数据库。

提前谢谢

1 个答案:

答案 0 :(得分:0)

虽然Hibernate非常适合管理实体状态转换,但它并不是我分页或聚合的首选。

在内存中对2500万条记录进行排序效率不高,因此您可以通过适当的索引更好地使用SQL。如果您可以选择框架,则可以依靠JOOQ执行此任务。即使您不能选择JOOQ,您仍然可以使用本机查询并将结果投影到DTO。

当您计划更改实体(创建更新删除)时返回实体非常棒,而DTO可以为读取操作提供更好的性能。如果你正确地玩牌,你甚至可以实现仅索引扫描。