Bonjour j'ai utilisé la relation manytomany.
Je voudrais donc afficher les données de la tables de jointure implicite.
J'ai la classe Operation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
public class Operation {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private int idoperation;
 
    private String description;
 
    @ManyToMany(cascade={CascadeType.PERSIST})
    @JoinTable(name="operation_champ",
                  joinColumns={@JoinColumn(name="idchamp")},
                  inverseJoinColumns={@JoinColumn(name="idoperation")})
    private Set<Champ> champs;
 
  //getter et setter
}
puis la classe champ
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
public class Champ {
    @Id
 
    @GeneratedValue(strategy=GenerationType.AUTO)
    public int idChamp;
 
    private String description;
 
    private String type;
 
    @ManyToMany(mappedBy="champs")
    private Set<Operation> operations;
}
Pour résumé je voudrais afficher les données de la table operation_champ que j'ai defini dans la classe Operation par la relation manytomany
J'ai essayé le code mais malheuresement il affiche les données dans opération
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Iterator iterator = em.createQuery("select o.idoperation, c.idChamp from Operation o join o.champs c").getResultList().iterator();
while (iterator.hasNext()) {
Object[] row = (Object[]) iterator.next();
//System.out.format("[%d,%d]%n", (Long) row[0], (Long) row[1]);
 System.out.println(row[0]+" "+row[1]);
  }