April 05
Prof. Ismael H. F. Santos -  ismael@tecgraf.puc-rio.br                                                          2
JPA ORM – Mapeamento M – M Bi
nExemplo5 – JPA Mapping
n
nListagem 01. Entity1.java
npackage exemplo5JPAMappingsMM;
nimport javax.persistence.*;
n@Entity
npublic class Entity1  {
n  @Id 
n  private int id;
n  public Entity1 () {}
n  public int getId() { return id; }  
n  public void setId(int id) {
n    this.id = id;
n  }
n  @ManyToMany
n  private Collection<Entity2> lE2;
n  public Collection<Entity2> getEntity2()
n  { return lE2; }
n  public void setEntity2(Entity2 e2) {
n    this.lE2 = e2;}
n}
n
nA Entity1 contém uma referência a uma coleção de objetos da Entity2.
nA Entity2 contém uma referência a uma coleção de objetos da Entity1.
nListagem 02. Entity2.java
npackage exemplo5JPAMappingsMM;
nimport javax.persistence.*;
n@Entity
npublic class Entity2  {
n  @Id 
n  private int id;
n  public Entity2 () {}
n  public int getId() { return id; }  
n  public void setId(int id) { this.id = id; }
n  @ManyToMany(mappedBy="entity2")
n  private Collection<Entity1> lE1;
n  public Collection<Entity1> getEntity1(){
n    return lE1;
n  }
n  public void setEntity1(Collection<Entity1> e1)  {
n     this.lE1 = e1;
n  }
n}
nA Entity2 contém a annotation mappedBy, utilizada para referenciar a Entity1, dona do relacionamento. A Entity1 e Entity2 contêm uma foreign key para a tabela (n para n) que contém o relacionamento entre Entity1 e Entity2.