Annotation tem anotação para herença?

1 resposta
Jarf

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
@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;
	}
	
	
	
}
Fato
@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;
	}
	
	
		

}
Dimensao
@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;
	}

}

Agradeço a todos pela ajuda!!!

Abraço!!!

1 Resposta

jgbt

ola,

http://www.hibernate.org/hib_docs/annotations/reference/en/html/entity.html

seção 2.2.4

[]´s

Criado 19 de novembro de 2008
Ultima resposta 19 de nov. de 2008
Respostas 1
Participantes 2