Olá pessoal, eu gostaria de saber se existe uma anotação específica para herança.
Eu implementei essas classes a seguir, onde Tabela é a classe pai e Fato e Dimensao são as classes filha. Mas não sei se está certo. Poderiam me da uma dica quanto a existir ou não uma anotação específica para isso e se está faltando algo no meu código?
Tabela
[code]@Entity
@SequenceGenerator(name=“SEQ”,sequenceName=“hibernate_sequence2”, allocationSize = 1)
public class Tabela {
@Id @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ")
private Long idtabela;
@Column (nullable = true, length = 50)
private String nome;
private Long idchaveprimaria;
@OneToOne (cascade = javax.persistence.CascadeType.ALL)
@JoinColumn (name="id_chaveprimaria")
private ChavePrimaria chaveprimaria;
public ChavePrimaria getChaveprimaria() {
return chaveprimaria;
}
public void setChaveprimaria(ChavePrimaria chaveprimaria) {
this.chaveprimaria = chaveprimaria;
}
public Long getIdtabela() {
return idtabela;
}
public void setIdtabela(Long idtabela) {
this.idtabela = idtabela;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Long getIdchaveprimaria() {
return idchaveprimaria;
}
public void setIdchaveprimaria(Long idchaveprimaria) {
this.idchaveprimaria = idchaveprimaria;
}
}
[/code]
Fato
[code]@Entity
@SequenceGenerator(name=“SEQ”, sequenceName=“hibernate_sequence4”, allocationSize = 1)
public class Fato extends Tabela {
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator ="SEQ")
private Long idfato;
private Long idcubo;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name="id_cubo")
private Cubo cubo;
public Long getIdfato() {
return idfato;
}
public void setIdfato(Long idfato) {
this.idfato = idfato;
}
public Long getIdcubo() {
return idcubo;
}
public void setIdcubo(Long idcubo) {
this.idcubo = idcubo;
}
public Cubo getCubo() {
return cubo;
}
public void setCubo(Cubo cubo) {
this.cubo = cubo;
}
}[/code]
Dimensao
[code]@Entity
@SequenceGenerator(name=“SEQ”, sequenceName=“hibernate_sequence5”, allocationSize = 1)
public class Dimensao extends Tabela {
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ")
private Long iddimensao;
@OneToOne (mappedBy= "dimensao")
private ChaveEstrangeira chaveestrangeira;
public ChaveEstrangeira getChaveestrangeira() {
return chaveestrangeira;
}
public void setChaveestrangeira(ChaveEstrangeira chaveestrangeira) {
this.chaveestrangeira = chaveestrangeira;
}
public Long getIddimensao() {
return iddimensao;
}
public void setIddimensao(Long iddimensao) {
this.iddimensao = iddimensao;
}
}
[/code]
Agradeço a todos pela ajuda!!!
Abraço!!!