Duvida urgente quanto a utilização de herança com usuário, professor, aluno, secretaria, gerente!

Ola pessoal, boa noite.
Gostaria da ajuda de vcs para resolver um problema quanto ao mapeamento de algumas classes.

Eu tenho uma classe aluno que extende à pessoa.
Eu tenho uma classe professor que também extende à pessoa.
Tenho uma classe usuário que extende à pessoa.
Tenho uma classe perfil que tem secretaria, professor, administrador.

o usuário pode ser do tipo secretaria ou administrador.
E existe o usuário professor, porém este ao meu ver não poderia herdar de usuário, porque no meu sistema eu tenho uma tela de cadastro de professores, para poder alocar em turma, curso, etc.

Alguém teria uma sugestão de como solucionar esse problema?
O Aluno não tem acesso ao sistema como usuário.
Já o professor, administrador e secretaria têm.

Estou utilizando o hibernate annotations.
Ao colocar o professor extendendo à classe usuário ele cria um dtype na classe usuário para professor, porém eu preciso da classe professor representada como professor, pelo motivo da tela.

Alguem teria uma idéia de como realizar esse mapeamento?
Agradeço desde já pela atenção,
Att,
Lessandro

Se eu entendi o que vc precisa é mudar o mapeamento de herança, vc deve estar usnado o default que é InheritanceType.SINGLE_TABLE, assim ele cria uma tabela do para toda a arvore de heranca.
Ao colocar @Inheritance(strategy=InheritanceType.JOINED) na sua classe pai cada classe em sua hierarquia terá sua tabela no banco.

Obrigado amigo pela dica.
Estarei implementando nesse momento e torcer pra dar td ok.
Abraços
:slight_smile:

Ola amigo.
Foi de grande ajuda a sua dica.
Resiolveu o meu problema aki.
agora ele cria a clase professor e usuário, onde existe uma chave estrangeira entre as duas.
Obrigado
Abraços
:slight_smile: