Pergunta

Então, eu sou muito novo no Hibernate e tenho um problema.

Eu tenho uma classe abstrata (a super classe, classe super) e 5 subclasses que devem usar as propriedades da classe Super e adicionar uma nova propriedade (uma nova coluna)

Então, como posso fazer isso? Devo estender a classe Super da Java, ou é suficiente para participar das aulas usando uma anotação JPA.

Aqui está o segundo problema. Como posso ter 1 tabela para 2 aulas. Alguém (mais inteligente que eu) me disse para usar o @Jointable, mas formar minhas pesquisas com o Google, acho que preciso usar @Iritance (estratégia = heretanceStrategy.Joined)

Posso usar o @Jointable também?

Nenhuma solução correta

Outras dicas

O seu é um caso de herança:

  1. Adicione o @Inheritance(stretegy=InheritanceStrategy.SINGLE_TABLE) anotação em seu Super
  2. Adicione o @DiscriminatorColumn anotação (e definindo seus atributos name e discriminatorType) (novamente no Super)
  3. em cada subclasse extend a Super, e adicione a anotação @DiscriminatorValue, com valor diferente para cada uma das subclasses.

Se você é novo no Hibernate, deve ler o seu documentação. Estratégias de herança são explicadas aqui e usando anotações para expressar a estratégia de herança é explicada aqui

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top