Как объединить две таблицы в весеннем спящем режиме? - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть веб-приложение, которое использует технологию Spring Hibernate. У меня есть контроль доступа на основе ролей, в котором пользователь может иметь определенные c роли для доступа к системе. Каждому пользователю может быть назначено несколько ролей. Роли назначаются с несколькими разрешениями. Моя структура таблицы приведена ниже.

role_permission(role_perm_id(PK), role_id(FK), screen_perm_id(FK))
role(role_od(PK),role_name))
screen_perm(screen_perm_id(PK), screen_id(FK), perm_id(FK))
screens(screen_id(PK), screen_name)
permission(perm_id(PK),perm_name)

Я хочу иметь страницу просмотра, которая отображает все разрешения роли. На этой странице я хочу иметь флажок, который показывает разрешение. Если это разрешение назначено роли, то оно проверяется, а если оно не назначено, то оно не проверяется. Как ван я это делаю. Я новичок в весенней зимней спячке. Пожалуйста, помогите.

1 Ответ

1 голос
/ 02 марта 2020
public class Role{
   @OneToMany(
    mappedBy = "role",
    cascade = CascadeType.ALL,
    orphanRemoval = true)
   Set<Permission> permissions= new HashSet<>();
}
public class Permission {
   @ManyToOne(fetch = FetchType.LAZY)
   Role role;
}

И тогда вы можете получить разрешения с помощью role.getPermissions ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...