【问题标题】:How can I convert the below oracle hint sql query to Querydsl code如何将以下 oracle 提示 sql 查询转换为 Querydsl 代码
【发布时间】:2016-08-08 06:46:48
【问题描述】:

如何将下面的 sql 转换为 Querydsl 代码? (将 oracle 优化器提示转换为 querydsl 代码)

EMP表的SAL列已创建,idx_emp_sal名称的索引。

在 emp(sal) 上创建索引 idx_emp_sal;

选择 /*+ index_desc(emp idx_emp_sal) */ 姓名,萨尔 来自雇员 其中sal > 0;

【问题讨论】:

    标签: optimization querydsl hint


    【解决方案1】:

    我没有完全理解你的 SQL 查询,但应该是这样的。

    SQL 查询

    SELECT ename, sal 
    FROM emp
    WHERE sal > 0
    ORDER BY sal DESC
    

    查询DSL

    QEmp qemp = QEmp.emp;
    jpaQuery.from(qemp)
            .where(qemp.sal.gt(0))
            .orderBy(qemp.sal.desc())
            .select(qemp.ename, qemp.sal)
            .fetch();
    

    【讨论】:

    • 谢谢。但我想使用 Oracle Hints 语句。没有订单由
    【解决方案2】:

    您可以在 querydsl 中使用 addFlags 功能添加 Oracle 查询提示

    例如

     .addFlag(AFTER_SELECT, "/*+ index_desc(emp idx_emp_sal) */ ")
    

    【讨论】:

      猜你喜欢
      • 2016-06-19
      • 1970-01-01
      • 2019-03-01
      • 1970-01-01
      • 2016-04-27
      • 1970-01-01
      • 2015-02-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多