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 :

outOfMemory avec le mapping de plusieurs lignes


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut outOfMemory avec le mapping de plusieurs lignes
    bonjour,

    j'ai une requete avec DetachedCriteria, qui récupere beaucoup de ligne de la base..qq milliers de lignes..

    qd le résultat dépasse un certain nombre de ligne..vers 1000, j'ai un outOfmemory,

    est ce un probleme de config? peut on mapper des milliers d'objets avec hibernate ?

    la config hibernate:
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    <bean class="org.springframework.jdbc.datasource.DriverManagerDataSource" id="dataSource">
    <property name="driverClassName">
    <value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
    </property>
    <property name="url">
    <value>
    url
    </value>
    </property>
    <property name="username">
    <value>user</value>
    </property>
    <property name="password">
    <value>mdp</value>
    </property>
    </bean>
    <!-- Hibernate Session Factory Bean -->
    <bean
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
    id="sessionFactory">
    <property name="mappingResources">
    ..
    ..
    ..
    merciiiiiii

  2. #2
    Membre émérite Avatar de Gardyen
    Homme Profil pro
    Bio informaticien
    Inscrit en
    Août 2005
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bio informaticien

    Informations forums :
    Inscription : Août 2005
    Messages : 637
    Par défaut
    y'a t'il beaucoup d'objets et de relations et utilises tu le lazy loading dans tes mappings d'association ?

    si tu n'utilises pas le lazy loading alors oui tu peux arriver à un dépassement de mémoire, puisqu'à travers les associations hibernate va essayer de charger toute ta base en mémoire...

  3. #3
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par Gardyen Voir le message
    y'a t'il beaucoup d'objets et de relations et utilises tu le lazy loading dans tes mappings d'association ?

    si tu n'utilises pas le lazy loading alors oui tu peux arriver à un dépassement de mémoire, puisqu'à travers les associations hibernate va essayer de charger toute ta base en mémoire...
    non je n'utilise pas la lazy loading, je suis en hibernate 3, j'utilise le JOIN fetching mode pour 2 ou 3 table;
    jai bcq d'objets dans la table principale et la requete est lancé plusieurs fois aussiii donc pas dans la meme session hibernate..

  4. #4
    Membre émérite Avatar de Gardyen
    Homme Profil pro
    Bio informaticien
    Inscrit en
    Août 2005
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bio informaticien

    Informations forums :
    Inscription : Août 2005
    Messages : 637
    Par défaut
    donc essaie le lazy loading ou si ça ne te convient pas, tu peux essayer d'utiliser les ScrollableResults

  5. #5
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par Gardyen Voir le message
    donc essaie le lazy loading ou si ça ne te convient pas, tu peux essayer d'utiliser les ScrollableResults

    le probleme ne vient pas du lazy loading..avec ou sans le nombre d'objets est consequent ..

  6. #6
    Membre émérite Avatar de Gardyen
    Homme Profil pro
    Bio informaticien
    Inscrit en
    Août 2005
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bio informaticien

    Informations forums :
    Inscription : Août 2005
    Messages : 637
    Par défaut
    utilises des session.clear() régulièrement alors

  7. #7
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    et les proprietes hibernate:
    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
    17
    18
    19
    20
    21
     
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
    <prop key="hibernate.cache.provider_class">
    org.hibernate.cache.EhCacheProvider
    </prop>
    <prop key="hibernate.max_fetch_depth">3</prop>
    <prop key="hibernate.show_sql">true</prop>
    <prop key="hibernate.format_sql">true</prop>
    <prop key="hibernate.cache.use_query_cache">true</prop>
    <prop key="hibernate.cache.use_second_level_cache">
    true
    </prop>
    <prop key="hibernate.jdbc.bach_size">20</prop>
    <prop key="hibernate.connection.release_mode">
    auto
    </prop>
    <prop key="default_schema">[dbo]</prop>
    </props>
    </property>

Discussions similaires

  1. [2.x] ManyToMany avec attribut Formulaire sur plusieurs lignes
    Par KLeMiX dans le forum Symfony
    Réponses: 3
    Dernier message: 08/02/2013, 10h31
  2. Réponses: 8
    Dernier message: 07/12/2011, 09h35
  3. Besoin d'aide pour remplacer avec expression régulière sur plusieurs lignes
    Par MediaVistaIntel dans le forum Général Python
    Réponses: 11
    Dernier message: 01/12/2011, 14h19
  4. Réponses: 3
    Dernier message: 28/07/2009, 16h01
  5. lire plusieurs lignes avec fgetc
    Par Mousk dans le forum C
    Réponses: 7
    Dernier message: 25/03/2006, 18h24

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