我需要从一个表中获取与父子相关的实例列表,但没有对关系列设置约束。三级层次结构是可能的。 我写了以下查询
"select distinct s, s1, s2 from SomeTable s" +
" join RelatedTable rt on s.id = rt.someId and rt.id = :paramId" +
" left join fetch SomeTable s1 on s1.parentId = s.id" +
" left join fetch SomeTable s2 on s2.parentId = s1.id"
假设在顶层我有一个实例,在底层 - 十个实例,在 sql 控制台中我可以看到按预期连接的数据,但在 java 代码中我有包含 10 个顶层实例的列表。我做错了什么?
通过原生查询和 sql union 解决。