Prezados Srs
Tenho a seguinte situação: existem os objetos Empresa que possuem vários Sistemas (@ManyToMany unidirecional) e Grupo que possuem uma associação bidirecional (@ManyToMany) com empresa.
Grupo por sua vez possui uma relação bidirecional com o Usuarios (@ManyToMany).
Empresa tambem possui uma relação com sistemas, para saber quais sistemas aquela empresa comprou.
Logo com este mapeamento sao geradas as tabelas:
Sistema - SistemaEmpresa - Empresa - EmpresaGrupo - Grupo - GrupoUsuario - Usuario
Até ai tudo bem, porém agora começam os problemas:
Alguns grupos de usuarios podem ter acesso a apenas alguns sistemas e obviamente esses sistemas devem pertencer as empresas as quais esses
grupos estao relacionados.
Se eu colocar uma coleção de sistemas também em grupo resolveria o problema:
Sistema - SistemaEmpresa - Empresa - EmpresaGrupo - Grupo - GrupoUsuario - Usuario - GrupoSistema
Porem nada impede eu adicionar a um grupo, um sistema que nao esta presente
em nenhuma empresa deste grupo. Logo teria inconsistencia de dados.
Resolveria isso com chave ternaria, porém fica muito feio o modelo com akelas classes PK’s.
Alguem ja passou por algo parecido ?
abraaaaaaaaaaasssss