Chave composta mapeamento bidirecional Hibernate.  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
jingle
Virtual Machine Man

Membro desde: 04/10/2006 20:40:08
Mensagens: 642
Localização: Canoas/RS
Offline

Olá tenho o seguinte caso:

tabela:
PostoOperativo tem varios AtributoPostoOperativo, porem cada relacionamento vai precisar ter um valor, até ai tudo bem criei o PostoOperativo criei AtributoPostoOperativo e criei a classe de relacionamento utilizando chave composta:



agora minha duvida é como fazer o outro lado do mapeamento (no PostoOperativo mapear que ele possui varios atributos porém utilizando a classe de relacionamento pq vo precisa do valor e dos atributos dele.)


grato.

This message was edited 1 time. Last update was at 27/07/2010 10:59:57

[Email] [MSN]
jingle
Virtual Machine Man

Membro desde: 04/10/2006 20:40:08
Mensagens: 642
Localização: Canoas/RS
Offline

depois de apanhar aos monte consegui da seguinte forma.



inserido no PostoOperativo:

This message was edited 1 time. Last update was at 27/07/2010 11:38:40

[Email] [MSN]
cicerogomes
Thread.start()
[Avatar]

Membro desde: 27/08/2008 09:18:36
Mensagens: 25
Offline

Bom dia

Olha vc vai ter que criar uma terceira classe para falar pra hibernate que é uma chave composta. vou exemplificar em tres classes Pessoa e Endereco e a terceira seria EnderecoPK. Observe a calse EnderecoPK a anotacao @Embeddable. espero ter ajudado.


\\Classe Pessoa

@Entity
@Table(name = "PESSOA")
public class Pessoa2 implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "ID")
private Integer id;
@Column(name = "NOME")
private String nome;
@Column(name = "DATANASCIMENTO")
@Temporal(TemporalType.DATE)
private Date datanascimento;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "pessoa")
private Collection<Endereco> enderecoCollection;
...
}

// Classe Endereco

@Entity
@Table(name = "ENDERECO")
public class Endereco implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
protected EnderecoPK enderecoPK;
@Column(name = "LOUGRADOURO")
private String lougradouro;
@Column(name = "BAIRRO")
private String bairro;
@JoinColumn(name = "IDPESSOA", referencedColumnName = "ID", insertable = false, updatable = false)
@ManyToOne(optional = false)
private Pessoa2 pessoa;
...
}

// EnderecoPK

@Embeddable
public class EnderecoPK implements Serializable {
@Basic(optional = false)
@Column(name = "ID")
private int id;
@Basic(optional = false)
@Column(name = "IDPESSOA")
private int idpessoa;
...
}
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team