Salut,

Considerons deux Tables associées à l'aide d'un @joinColumn:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
@Entity
public class Provider implements java.io.Serializable,{
    @Id
    @GeneratedValue
    protected int id;
    protected String status;
 
    @OneToOne(cascade=CascadeType.ALL)
    @JoinColumn(name="fk_contact")
    protected Contact contact;
...
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
@Entity
public class Contact implements java.io.Serializable{
    @Id
    @GeneratedValue
    protected int id;
    protected String address;
    protected String locale;
...
}
Lors de select suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
entityManager.createQuery("select c from Provider C order by c.name").getResultList();
j'obtient en SQl 1 select Provider + 1 select Contact par objet Provider
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
Hibernate: select provider0_.id as id10_, provider0_.fk_contact as fk5_10_, provider0_.name as name10_, provider0_.pref_logo_size as pref3_10_, provid
er0_.status as status10_ from Provider provider0_ order by provider0_.name
Hibernate: select contact0_.id as id4_0_, contact0_.address as address4_0_, contact0_.email as email4_0_, contact0_.given_name as given4_4_0_, contact
0_.locale as locale4_0_, contact0_.sur_name as sur6_4_0_, contact0_.telephone as telephone4_0_ from Contact contact0_ where contact0_.id=?
Hibernate: select contact0_.id as id4_0_, contact0_.address as address4_0_, contact0_.email as email4_0_, contact0_.given_name as given4_4_0_, contact
0_.locale as locale4_0_, contact0_.sur_name as sur6_4_0_, contact0_.telephone as telephone4_0_ from Contact contact0_ where contact0_.id=?
Hibernate: select contact0_.id as id4_0_, contact0_.address as address4_0_, contact0_.email as email4_0_, contact0_.given_name as given4_4_0_, contact
0_.locale as locale4_0_, contact0_.sur_name as sur6_4_0_, contact0_.telephone as telephone4_0_ from Contact contact0_ where contact0_.id=?
Hibernate: select contact0_.id as id4_0_, contact0_.address as address4_0_, contact0_.email as email4_0_, contact0_.given_name as given4_4_0_, contact
0_.locale as locale4_0_, contact0_.sur_name as sur6_4_0_, contact0_.telephone as telephone4_0_ from Contact contact0_ where contact0_.id=?
Ne peut-on pas améliorer cela?

Merci pour vos réponse!