我有一个系统来确定菜单链接的层次结构并构建面包屑导航。我有两个表:
我的问题是:如何确定链接“添加多个项目”的层次结构,以建立相对面包屑?我必须从最后一个元素(“添加多个项目”)开始确定层次结构,这是我唯一拥有的数据。
是否存在单个查询或JPA方式(我正在使用Spring MVC和Hibernate),可以让我知道所有确定链接“添加多个项目”层次结构的
希望我的表述清楚。
谢谢。
Voce
和Voci
。
Voce
既是菜单链接名称,也是页面标题名称。Voci
表示Voce
的层次结构。每个Voce
都可以有另一个Voce
作为子级(这里您看不到相关代码,但我使用JPA将一个Voce绑定到多个Voci)。例如,这是页面/链接“添加多个项目”的层次结构:菜单-->管理菜单-->添加多个项目。
----------
| |
| \/ Voce
| -----------------------
| |id | name |
| -----------------------
| |1 |menu |
| -----------------------
| |2 |manage menu |
| -----------------------
| |3 |add single item |
| -----------------------
| |4 |add many items |
| -----------------------
|
|_____________
| |
| |
Voci | |
-----------------
|id |father|son |
----------------
|1 | 1 | 2 |
----------------
|2 | 2 | 3 |
-----------------
|3 | 2 | 4 |
-----------------
我的问题是:如何确定链接“添加多个项目”的层次结构,以建立相对面包屑?我必须从最后一个元素(“添加多个项目”)开始确定层次结构,这是我唯一拥有的数据。
是否存在单个查询或JPA方式(我正在使用Spring MVC和Hibernate),可以让我知道所有确定链接“添加多个项目”层次结构的
Voci
记录。希望我的表述清楚。
谢谢。
CONNECT BY PRIOR
语句可以帮助你。否则,你需要在Java/JPA中获取父级,然后获取父级的父级,直到父级为null(或根节点)。 - Gaël J