Estou com um problema e não sei se é possível resolvê-lo no Hibernate.
Exemplo: imaginem 3 classes, Pessoa, Aluno e Professor.
Aluno e Professor são especializações de Pessoa
Pessoa é uma superclasse abstrata
Eu gostaria de fazer uma consulta no Hibernate que retornasse todos os objetos Pessoa do banco, só que eu recebo um erro pois o Hibernate tenta instanciar Pessoa, o que não é possível já a classe é abstrata. Tem como resolver isso? O Hibernate retornaria uma List, sendo que todos os seus objetos seriam ou Aluno ou Professor.
Eu até poderia tirar a palavra reservada “abstract” da classe Pessoa, mas o Hibernate não poderia deixar que o banco salvasse uma Pessoa que não fosse Aluno ou Professor.
Caso não tenham entendido eu posso tentar explicar de outra forma.
Mas dessa forma nada impede que eu insira no banco um objeto da classe ControleRecursoImpl, não?
No meu caso, o hibernate deveria barrar a inserção de objetos da classe ControleRecursoImpl, mas deveria permitir um de ControleRecursoImpl, que conteria objetos DespesaImpl e outras classes filhas de ControleRecursoImpl.
Isso é possível?
bonfarj
alguma sugestão? :oops:
E
everson_cardoso
polymorphism=“explicit”, acrescente esse atributo no mapeamento de Aluno e Professor deixando o atributo table o mesmo q está definido em Pessoa. Dessa forma vc pode ter dois objetos Pessoa q se comportam como Aluno e como Professor.