相关疑难解决方法(0)

Java编码最佳实践,用于重用部分查询进行计数

对于我来说,implementation-result-in-hibernate-getting-total-number-of-rows问题引发了另一个问题,关于一些实现问题:

现在你知道你必须重用部分HQL查询来计算,如何有效地重用?

两个HQL查询之间的差异是:

  1. 选择是count(?),而不是pojo或属性(或列表)
  2. 不应该发生提取,因此不应该连接某些表
  3. order by应该消失

还有其他差异吗?

您是否有编码最佳实践来有效地实现这种重用(关注点:努力,清晰度,性能)?

简单HQL查询的示例:

    select       a     from A a join fetch a.b b where a.id=66 order by a.name
    select count(a.id) from A a                  where a.id=66
Run Code Online (Sandbox Code Playgroud)

更新

我收到的答案是:

  • 使用Criteria(但我们主要使用HQL)
  • 操纵String查询(但是每个人都同意这看起来很复杂而且不是很安全)
  • 包装查询,依赖于数据库优化(但有一种感觉,这是不安全的)

我希望有人会沿着另一条路径提供选项,更多与String连接相关.
我们可以使用通用部件构建两个HQL查询吗?

java implementation pagination hibernate

5
推荐指数
1
解决办法
3651
查看次数

标签 统计

hibernate ×1

implementation ×1

java ×1

pagination ×1