IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

Hibernate peut-il m'aider ?


Sujet :

Hibernate Java

  1. #1
    Membre habitué
    Profil pro
    Administrateur système
    Inscrit en
    Mai 2002
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Administrateur système

    Informations forums :
    Inscription : Mai 2002
    Messages : 144
    Points : 159
    Points
    159
    Par défaut Hibernate peut-il m'aider ?
    Bonjour,
    Je découvre Hibernate un peu par hasard aussi ai-je besoin de votre avis avant de me lancer.
    Je travaille sur un projet qui m'emmene à interroger une base Oracle. Pour simplifer, disons qu'il s'agit de récuperer toute une série d'informations sur une tranche d'individus: adresse, salaires, année de la déclaration des revenus, revenus déclarés et imposables, composition de la famille, crédits en cours, etc.
    Après avoir dans un premier temps ciblé les individus en question (il peut y en avoir jusqu' une centaine), je dois interroger la base pour extraire/calculer les infos les concernant.
    Mon problème principal concerne le temps de réponse, sachant que dois afficher le résultat à l'écran pour l'utilisateur et que je ne peux pas me permettre des délais trop longs. Pour l'instant, voilà comment je procède: je crée plusieurs threads (chargé chacun d'une requête spécifique) qui interrogent chacun la base et insèrent leur résultat dans un Vector; Une fois que le dernier thread est terminé, j'affiche à l'écran le contenu du Vector trié par individu.
    Ca fonctionne mais c'est long vu que pour certaines requêtes je suis obligé de faire un Select autant de fois qu'il y a d'individus !
    D'ou ma question: Hibernate accelere-t-il les traitements? Dans mon cas, ai-je un intérêt à l'utiliser? Sinon que me conseillez-vous pour réduire mes temps de réponse?
    Merci d'avance pour vos conseils.

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Si c'est uniquement pour un problème de temps de réponse, je ne pense pas
    que ça vaille le coup.
    Il vaudrait mieux passer du temps sur tes requêtes pour les optimiser.

  3. #3
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    A mon avis, dans ton cas, Hibernate ne vas pas beaucoup t'aider...

    Hibernate n'améliore pas les performances...

    Mais dans ton cas, es tu vraiment obliger de procéder ainsi ? Ca me semble un peu compliqué... Il y a peut-être une manière de faire un peu plus simple...

  4. #4
    Membre habitué
    Profil pro
    Administrateur système
    Inscrit en
    Mai 2002
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Administrateur système

    Informations forums :
    Inscription : Mai 2002
    Messages : 144
    Points : 159
    Points
    159
    Par défaut
    Citation Envoyé par wichtounet
    Mais dans ton cas, es tu vraiment obliger de procéder ainsi ? Ca me semble un peu compliqué... Il y a peut-être une manière de faire un peu plus simple...
    Plus simple et plus rapide, oui mais comment? Si vous avez des idées, je suis preneur.

  5. #5
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par FranT
    je crée plusieurs threads (chargé chacun d'une requête spécifique) qui interrogent chacun la base et insèrent leur résultat dans un Vector; Une fois que le dernier thread est terminé, j'affiche à l'écran le contenu du Vector trié par individu.
    Cette technique risque plutot de ralentir ton appli. Il y a de grande chance que tes requetes soit re-serialisées quelquepart dans la chaine Thread<->JDBC<->BdD. Donc tu perds tout l'interet d'avoir parallelisé ton remplissage de vector.

    Pour accelerer les choses, je te conseille plutot de faire le minimum d'appels dans ton appli Java (ideal: un seul select) sur des "vues" de la BdD. Quitte a créer des vues complexes, car la BdD est concue pour calculer rapidement les vues. Apres, il faut voir ce que te permet de faire ta BdD au niveau du calcul des vues (dynamiques, parametrables,...).

    Quand a hibernate, il n'accelerera pas la requete en elle-meme. Par contre, les mecanismes de cache d'objet et de "Lazy Loading" permettent d'ameliorer le tps de affichage dans une IHM.

  6. #6
    Membre habitué
    Profil pro
    Administrateur système
    Inscrit en
    Mai 2002
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Administrateur système

    Informations forums :
    Inscription : Mai 2002
    Messages : 144
    Points : 159
    Points
    159
    Par défaut
    Merci à tous, je vais effectivement voir du côté des vues, je n'y avais pas pensé.
    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/06/2008, 09h48
  2. Photoshop peut il m'aider?
    Par argon dans le forum Imagerie
    Réponses: 1
    Dernier message: 10/12/2007, 08h40
  3. [SQL] Que veut dire "Resource id #3" quelqu'un peut-il m'aider svp?
    Par momoh dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 12/05/2007, 23h28
  4. Aide sur visual basic?? Quelqu'un peut-il m'aider?
    Par lilipika dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 02/03/2006, 15h03
  5. L'erreur 3734, quelqu'un peut-il m'aider
    Par charleshbo dans le forum Access
    Réponses: 1
    Dernier message: 21/02/2006, 16h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo