如何解决Java中如何通过HQL实现CTE查询
我已经编写了一个 MysqL 查询,并且正在尝试通过 Hibernate 来实现。请帮助我们解决这个问题。我的 MysqL CTE 查询:
WITH RECURSIVE employeeCte AS
(
select employee_id,employee_name,manager_id,1 AS LEVEL from employee where employee_id = ?
union all
select e.employee_id,e.employee_name,e.manager_id,LEVEL + 1 from employee e join employeeCte m
on e.employee_id = m.manager_id
)
select * from employeeCte;
休眠代码:
interface Employeerepository extends JpaRepository<Employee,String>{
@Query("above query")
List<Object> getEMployeeDetails(String employeeId);
}
解决方法
HQL 尚不支持 CTE,但我正在努力将其更改为 6.0。同时,您可以使用 Mark Rotteveel 建议的原生查询方法,或者您可以在此处查看 Blaze-Persistence 可以为您做什么,其中 supports CTEs 还带有 {{3} }.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。