【发布时间】:2016-06-19 03:24:34
【问题描述】:
如何将下面的 sql 转换为Querydsl 代码?
(querydsl oracle分层查询,级别,lpad)
select lpad(' ',(level-1)*2,' ') || ename, sal, deptno
from emp
start with ename = 'KING'
connect by prior empno = mgr
结果:
KING 5000 10
JONES 2975 20
SCOTT 3000 20
ADAMS 1100 20
FORD 3000 20
SMITH 800 20
BLAKE 2850 30
ALLEN 1600 30
WARD 1250 30
MARTIN 1250 30
TURNER 1500 30
JAMES 950 30
CLARK 2450 10
【问题讨论】:
-
START WITH ... CONNECT BY 是 Oracle 用于分层查询的古老语法,最终标准化的 SQL 提出了一种机制来做同样的事情,即递归 WITH 子句。 QueryDSL 支持recursive WITH clauses。
标签: oracle hierarchical-data querydsl