-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 
Author Message
 Post subject: Association bidirectionnelle : problème de performance
PostPosted: Thu Sep 15, 2005 4:13 am 
Newbie

Joined: Thu Sep 15, 2005 3:18 am
Posts: 1
Hibernate version: 2.1.8

Hibernate mapping: Les collections sont "mappées" par des "set".

Dans une association bidirectionnelle parent/enfant classique, d'après la documentation, il faut utiliser le code suivant :

child.setParent(parent);
parent.getChildren().add(child);

Cependant, l'exécution de ce fragment de code prend de plus en plus de temps avec l'augmentation du nombre d'entrées dans la table contenant les données des enfants (semble venir du "add").

Est-ce normal ? Comment pallier ce problème ?


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 15, 2005 11:40 am 
Senior
Senior

Joined: Tue Feb 08, 2005 5:26 pm
Posts: 157
Location: Montréal, Québec - Canada
Je crois que vous pouvez utiliser la propriété inverse=true sur l'association entre vos deux entités.

Vous devriez pouvoir ainsi éviter de gérer l'association en double dans le code java.

J'espère que cela vous aidera.

_________________
Vincent Giguère
J2EE Developer


Top
 Profile  
 
 Post subject: Re: Association bidirectionnelle : problème de performance
PostPosted: Thu Sep 15, 2005 12:04 pm 
Pro
Pro

Joined: Fri Sep 02, 2005 4:21 am
Posts: 206
Location: Vienna
remmouqu wrote:
Cependant, l'exécution de ce fragment de code prend de plus en plus de temps avec l'augmentation du nombre d'entrées dans la table contenant les données des enfants (semble venir du "add").

Est-ce normal ?

Il est malheureusement bien difficile de répondre à une question aussi générale. Il n'est même pas clair si le problème est dans Java ou la BD.

Il est bien sûr normal que la quantité de données aient "une certaine influence" sur la durée du traitement. La question est de savoir si l'augmentation du temps de traitement est proportionelle à la quantité de données ou bien supérieure. Supérieure n'est pas normal.

Il serait bon de faire afficher le SQL produit par Hibernate (show_sql) pour voir s'il se passe quelque chose d'anormal - trop d'accès respectivement accès redondants à la BD.

Sinon relire la documentation. Si le problème ne s'eclaircie toujours pas, poster les mappings et le code testé...

Erik


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 15, 2005 4:31 pm 
Hibernate Team
Hibernate Team

Joined: Sun Sep 14, 2003 3:54 am
Posts: 7256
Location: Paris, France
De manière géénrale, il faut remplir le template donné quand on crée un post. Il est fait pour ça.

_________________
Emmanuel


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.