(JPA) ID composto com relacionamento

2 respostas
ynaue

Oie pessoal!!!

Como que eu resolvo um ID Composto que tem relacionamento?????

Eu sei que no caso do ID Composto fica assim:

public class ClassePK implements Serializable {

   @Id
   @Column(name = "id1", nullable = false)
   private int Id1;

    @Id
    @Column(name = "id2", nullable = false)
    private int Id2;
...........


public class Classe implements Serializable {

    @EmbeddedId
    protected ClassePK idPK;
.................

E se esse meu ID2 tiver relacionamento com uma outra tabela de muitos para um???
Como fica????

[size=18]HELP !!!!!!!!!!!![/size]

2 Respostas

Anderson_Schmidt

Olá,

@Id
    @Column(name = "id1", nullable = false)
    private int Id1;

Relacionamentos entre objetos nas classes de modelo sempre usam Referência do objeto, não tipo primitivo. Então na verdade vc teria:

@Id
    @Column(name = "id1", nullable = false)
    private ObjetoA Id1;

    @Id
    @Column(name = "id1", nullable = false)
    private ObjetoB Id2;
Quanto ao possível relacionamento do ObjetoB com outro objeto, ObjetoC por exemplo, não muda nada. Um @ManyToOne entre eles deve resolver.

Schmidt

ynaue

Mas eu coloco o @ManyToOne na classe que resolve o Chave composta???
Assim:

@Id
@JoinColumn(name = "tabela2", referencedColumnName = "id2")
@ManyToOne
   private Objeto Id2;

@Id
@Column(name = "id1", nullable = false)
   private int Id1;

Ou na que “representa” a tabela (que possui os outros campos)???

Criado 27 de outubro de 2006
Ultima resposta 27 de out. de 2006
Respostas 2
Participantes 2