Estou com uma dificuldade em fazer essa classe funcionar da maneira que desejo. gostaria de uma luz para saber como devo fazer a classe usuário. abaixo segue a explicação do problema:
Tenho dois objetos:
[code]@Entity
class Recurso {
@Id
@GeneratedValue
private Long Id;
private String descricao;
private String path;
…
}
@Entity
Class Usuario {
@Id
@GeneratedValue
private Long id;
private String nome;
private String login;
Private String senha;
@ManyToMany
private Set<Recurso> permissoes;
@ManyToMany
private Set<Empresa> empresas;
…
}[/code]
dessa forma eu obtenho as permissões que o usuario possui.
Agora quero acrescentar a nocao de empresa.
[code]@Entity
class empresa {
@Id
@GeneratedValue
private Long Id;
private String nome;
@Embedded
private CNPJ cnpj;
…
}[/code]
O que eu gostaria agora é que as permissões estejam associadas a empresa. eu só consegui fazer assim:
acrescentar à classe Usuario o atributo empresa:
@ManyToMany
private Set empresa;
Dessa forma, se eu colocasse 3 itens em permissoes. e 2 em empresa, o usuario teria as mesmas permissoes para as duas empresas
e o que eu quero é ter as permissoes diferenciadas para cada empresa
Exemplo de como eu gostaria de funcione;
empresas: empA, empB, empC, empD
recursos: rec1, rec2, rec3, rec4
permissoes para o usuário :
empA[rec1, rec4], empC[rec2, rec4]