我有一个菜单系统,其中MenuTabs - 顶层,它们包含Menu并且 Menu 包含MenuItem。
每个级别项目都有一个用户Role列表,它应该对其可见。
我需要创建一个数据库查询来选择 MenuTabs,它只包含当前用户的可见菜单和可见菜单项。有什么办法可以用 SQL 查询来做到这一点?
我使用 JPA 和 MySql,但任何 SQL 查询都会有所帮助。
作为输入数据,我有一个当前用户的角色列表,我需要为他/她构建正确的菜单系统。所以用户只会看到允许的 MenuTabs / Menus / MenuItems
课程:
class MenuTab {
List<Menu> menu;
List<Role> userRoles;
}
class Menu {
List<MenuItem> menuItems;
List<Role> userRoles;
}
class MenuItem {
List<Role> userRoles;
}
class User {
List<Role> userRoles;
}
表:
menutab menutab_menu menutab_role
id menutabId menutabId
menuId roleId
menu menu_menuitem menu_role
id menuId menuId
menuitemId roleId
menuitem menuitem_role
id menuitemId
roleId
role
id
user user_role
id userId
roleId