Hibernate Annotations: Herança de @Id

7 respostas
Lucas_Castro

Oi amigos,

resolvi detonar todos os meus mapeamentos XML e passar a usar as anotações do Hibernate.

O problema é que na nossa framework, temos uma classe básica com uma propriedade id. Como posso fazer para minhas classes de domínio, que herdam dessa básica, terem geradores de sequencia diferentes?

Se não tiver sido claro, por favor avisem, que tentarei explicar melhor!

Abraços!

7 Respostas

Lucas_Castro

Oi Lucas, tudo bem!?

Encontrei uma solução, não sei se é a única, mas atende:

Na tua classe base, você mapeia o id definindo sua sequência, ou seja, põe o nome da sequencia que vc quer usar, então na sua sub-classe, você declara essa sequencia, com o mesmo nome.

Por exemplo:

// Na classe base:
@MappedSuperclass
public abstract class BasicBean  {

	@Id @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQUENCE")
	private Integer id;
        ...
}

// Na sub-classe
@Entity
@Table(name="promessa")
@SequenceGenerator(name="SEQUENCE", sequenceName="promessa_id_seq")
public class Promessa extends BasicBean {
       ...
}

Até mais! :slight_smile:

kaique

Cara…me tira uma duvida…
Jah q tu eliminou todos os teus hbm’s da tua aplicação…tu jah tem algum caso de chave composta com annotation q esteja funcionando???

Vlw!!

plentz

http://www.hibernate.org/hib_docs/annotations/reference/en/html_single/#d0e1596

:wink:

Lucas_Castro

Aê Kaique, vai nessa documentação que ela explica direitinho como fazer isso…

Eu ainda não detonei tudo não, estou fazendo a mudança gradativamente e achando algumas complicações e limitações no mapeamento com annotations… posto mais tarde sobre estas…

Até!

Lucas_Castro

Mapeei minhas chaves compostas!

Um importantíssimo detalhe:
Presta atenção na ordem que tú está declarando os atributos que fazem a chave composta. Deve ser essa mesma ordem que tu vai usar para fazer os JoinColumns!!! Caso contrário, não funciona!

Abraços!

bebad

socooorrooo
ngm tem um exemplo que realmente funciona ?

M

cara dá uma olhada neste link aki ftp://users.dca.ufrn.br/UnP2007/Hibernate_Anotacoes.pdf tem um exemplo muito bom

Criado 26 de junho de 2006
Ultima resposta 28 de out. de 2008
Respostas 7
Participantes 5