Salve Galera !!!
Estou trabalhando em um sistema simples. Mas que agora surgiu uma dúvida não tão simples.
É um sistema de contatos internos de uma Cia.
A dificuldade e de fazer o relacionamento de 2 entidades. <Usuario> e <Contato>
Todos os funcionários da empresa são um Contato.
Todos os funcionários estaram cadastrados no BD, mesmo os que não usarem o sistema.
Após um funcionário solicitar o uso do sistema, será liberado o acesso e ele além de <Contato>, será também um <Usuario>.
Eu tentei relacionar estas duas entidades assim:
public class Contato{
private Long id;
private String nome;
private String sobrenome;
private Integer telefone;
private Integer celular;
private Integer fax;
private String email;
private String login;
métodos get e set omitidos
}
public class Usuario{
private Contato id;
private String senha;
métodos get e set omitidos
}
Só que a classe <Contato> não pode ser ao mesmo tempo um @Entity e um @Embeddable.
Entenderam ?!?
Então a partir do momento que o <Contato> cadastrar sua senha, ele passa a ser também um <Usuario>
No banco está exatamente como nas classes, com excessão da usuario que ao invés de um contato_id, tem somente um id.
A idéia seria quando cadastrar o usuario, relacionar o id do usuario como o mesmo id com contato e somente cadastrar a senha na tabela usuario.
Eu tenho uma 3 tabela que seria a que relacionaria as 2 entidades.
UsuarioContato
Campos : usuario_id e contato_id
Alguém poderia me dar uma opinião ou outra solução qto a esta forma de relacionamento ?!?
[ ]