Olá, estou desenvolvendo um sistema que possui um controle de acesso completo e como ainda sou inexperiente com hibernate, não sei bem como mapear os meus beans.
Segue uma imagem do diagrama:
O sistema permite que o USUARIO pertença a vários GRUPOS, e cada grupo possui permissão de execução a vários METODOS de vários CONTROLADORES de vários MODULOS.
public class Metodo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer codigo;
@ManyToOne(targetEntity = Controlador.class)
@JoinColumn(name = "codigo_controlador", referencedColumnName = "codigo")
private Controlador controlador;
...
public class Controlador {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer codigo;
@ManyToOne(targetEntity = Modulo.class)
@JoinColumn(name = "codigo_modulo", referencedColumnName = "codigo")
private Modulo modulo;
...
public class Modulo {
@Id
private Integer codigo;
private String descricao;
private String diretorio;
...
Ao logar no sistema preciso preencher o bean USUARIO, que possui uma lista de SETORES e uma lista de METODOS que o usuário pode executar.
public class Usuario {
@Id
private String cpf;
...
private List<Setor> setores;
private List<Metodo> metodos;
...
Como posso mapear o objeto USUARIO para preencher as listas da forma mais prática possível?
