none
NHIBERNATE MAPEAMENTO RRS feed

  • Pergunta

  • Ola pessoal estou com um problema de mapeamento ja quebrei a cabeca e ainda nao consigo .

     

    Tenho as classes

     

    Pessoa                                   Usuario: Pessoa                                                

    string  nome;                          string cpf;                                                            

    int id;

     

    a situacao e a seguinte, no cadastro de um novo usuario a pessoa escolhe se esse novo USUARIO e um usuario e um Tecnico ou Gerente,      se ele e um tecnico entao um tecnico tem uma categoria, ou seja, na tabela Usuario eu teria q ter um codigoCategoria,  mais se ele for um gerente ou um usuarioComum, ele nao pertence a uma categoria, agora nao sei como fazer isso com nhibernate, ja li sobre composite e tudo mais, mais nao entendi, um usuario pode e nao ser um tecnico, mais se eu cadastro ele como tecnico coloco na tabela o codigo da categoria, mais se ele nao for o codigo da categoria fica vazio, e assim vai ficar inconsistente isso . alguem sabe uma saida , me ajudar por favor ?

     

    sexta-feira, 2 de julho de 2010 13:46

Respostas

  • Lourival,

     

        Categoria é um atributo de um técnico, enquanto gerente não tem uma categoria.

        Você pode ter uma classe para cada um dos tipos (Tecnico e Gerente). Principalmente se houver qualquer chance de um técnico ter outras informações diferentes do Gerente e vice-versa.

        Uma solução mais simples é manter seu modelo, adicionar o código da categoria e optar por:

        Colocá-la como NULÀVEL no banco de dados;

        Cadastrar uma categoria com código -1 e descrição "Não se Aplica".

        Cada uma pode ter vantagens e desvantagens. Mas você deve analisar o contexto

    sábado, 10 de julho de 2010 04:25