Optimisation des query dans le cas d'un @joinColumn
Salut,
Considerons deux Tables associées à l'aide d'un @joinColumn:
Code:
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:
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:
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:
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!