如何用Java CriteriaBuilder实现PostgreSQL自定义层级排序
PostgreSQL层级数据自定义排序与CriteriaBuilder实现问题
| Id | Child_one_id | Child_two_id | Parent_id |
|---|---|---|---|
| 1 | 2 | 3 | null |
| 2 | null | null | 1 |
| 3 | 2 | null | 1 |
| 4 | null | null | null |
| 5 | 6 | 7 | null |
| 6 | null | null | 5 |
| 7 | 6 | null | 5 |
| 8 | null | null | null |
| 9 | null | null | null |
| 10 | 11 | 12 | null |
| 11 | null | null | 10 |
| 12 | null | null | 10 |
我需要对PostgreSQL中的数据通过ORDER BY实现如下排序:10,11,12,9,8,5,6,7,4,1,2,3。排序规则为:
- 先按
Id降序排列 - 若某条数据的
Id存在对应的Child_one_id和Child_two_id,则其子数据需紧随该父数据之后
表中所有Id已按上述结构形成层级关联。
目前我已通过Java的CriteriaBuilder实现了仅按Id降序的查询,且为获取输出所需的其他字段,已关联了10余张表。
请问是否可以通过Java CriteriaBuilder实现上述自定义排序需求?
内容的提问来源于stack exchange,提问作者Karthikeyan Sankar
相关产品推荐
相关产品推荐

