使用JPA进行递归查询以获取员工层次结构

时间:2018-07-09 02:42:39

标签: mysql spring-boot jpa recursive-query

我正在尝试找到一种使用JPA和Spring Boot来获取组织中员工层次结构的方法。

问题类似于以下链接 Similar Data Model

如果A向B报告,B向C报告,C向D报告,

对于员工B,我需要输出为B-> C-> D。

以下在Mysql中进行递归查询

WITH RECURSIVE Employee_path(id,Name,bid) AS(
SELECT id,Name,bid
FROM Employee
WHERE id = 1005
UNION ALL
SELECT e.id,e.Name,e.bid
FROM Employee_path AS cp JOIN Employee AS e
ON cp.bid = e.id
)
SELECT * FROM Employee_path ORDER by bid ASC;

由于我是JPA的新手,所以无法以优化的方式获得解决方案(我没有解决该问题的方法)

我只是添加了一种以优化方式获取它的递归方法。

回购的PFL For my git repo

将以下示例视为MySQL快照

id  name bid
1   A     0
2   B     1
3   C     2
4   D     1

我想获得C人的“报告经理”行 哪个应该返回字符串C-> B-> A

0 个答案:

没有答案