我正在尝试找到一种使用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