MenuTabs - 最上位、 Menu が含まれ、 MenuにMenuItemが含まれるメニュー システムがあります。
各レベル項目には、それが表示される必要があるユーザーRoleのリストがあります。
現在のユーザーに表示されている MenuItems を持つ表示されているメニューのみを含む 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