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

JPA Java Discussion :

List<String> et LazyInitialisationException


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Par défaut List<String> et LazyInitialisationException
    Bonjour.

    Dans l'une de mes classes (Paper), voici ce que j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    @CollectionOfElements
    	private List<String> coAuthors;
    et les méthodes
    boolean addCoAuthor(String name, long paperId),
    boolean removeCoAuthor(String name, long paperId)
    List<String> getCoAuthor (long paperId)

    dans un stateless.

    Les deux première fonctionnent très bien, la dernière renvoie invariablement LazyInitialisationException. voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    		Paper paper = em.find(Paper.class, paperId);
    		if(paper==null) return null;
    		return paper.getCoAuthors();
    Qu'en pensez vous? est ce que je mappe mal? que faire pour que ca marche?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 40
    Par défaut
    Par défaut, les CollectionOfElements sont en Lazy loading. Si tu mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @CollectionOfElements(fetch=FetchType.EAGER)
    ca marchera mieux.
    Attention alors au n+1 select, et plus généralement aux performances ... Sinon, le mieux (et c'est généralement la méthode recommandée) est encore de charger à la demande.
    Dit moi si ca corrige le problème !

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Par défaut oui mais...
    dans ma classe paper, j'ai deja une liste en fetchType.EAGER, donc si je met celle ci en EAger aussi, j'ai une erreur(mappingException: cannot fetch simultaneously multiples bag) au demarrage du serveur d'applications.

    Au debut je voulais mettre des @OneTomany, mais quand je fais ca, il me dit qu'il arrive pas non plus à mapper, je sais plus exactement pourquoi. faudra que j'aille voir

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Citation Envoyé par mister bean Voir le message
    dans ma classe paper, j'ai deja une liste en fetchType.EAGER, donc si je met celle ci en EAger aussi, j'ai une erreur(mappingException: cannot fetch simultaneously multiples bag) au demarrage du serveur d'applications.

    Au debut je voulais mettre des @OneTomany, mais quand je fais ca, il me dit qu'il arrive pas non plus à mapper, je sais plus exactement pourquoi. faudra que j'aille voir
    il n'arrive pas à mapper parce que String n'est pas une @Entity tout simplement...

Discussions similaires

  1. récupérer la partie commune d'une liste de String
    Par Kanter dans le forum Delphi
    Réponses: 11
    Dernier message: 18/04/2007, 12h46
  2. Créer un tableau de liste de string
    Par nobeone dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 06/04/2007, 14h58
  3. Réponses: 23
    Dernier message: 08/06/2006, 15h06
  4. [VB.net] Join d'un Array list de string?
    Par the_bmo dans le forum VB.NET
    Réponses: 8
    Dernier message: 15/12/2005, 13h53
  5. Comparaison d'une liste de string à un string
    Par maxazac dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 19/10/2005, 15h39

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