ynaue
#1
Oie pessoal!!!
Como que eu resolvo um ID Composto que tem relacionamento???
Eu sei que no caso do ID Composto fica assim:
[code]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;
…[/code]
E se esse meu ID2 tiver relacionamento com uma outra tabela de muitos para um???
Como fica???
[size=18]HELP !!![/size]
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
#3
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)???