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.  [ 2 posts ] 
Author Message
 Post subject: Pb avec List<String> et CollectionOfElements et EAGER
PostPosted: Mon Oct 22, 2007 3:36 am 
Newbie

Joined: Wed Jul 04, 2007 6:29 am
Posts: 11
Bonjour,

Je dois persister des Entity (JPA avec Hibernate) contenant des listes de String. Je ne peux bien sûre pas utiliser @OneToMany car String n'est pas une Entity, donc j'utilise @CollectionOfElements, mais cela n'a pas le résultat escompté :
Quand je recharge l'entité, j'ai N instance de l'entité avec N étant le nombre d'élément qu'il y a dans ma liste.

Voici le code simplifié :
L'entité
Code:
@Entity
public class DataSet {
...
   @CollectionOfElements(fetch=FetchType.EAGER)
   @IndexColumn(name="listOfString")
   private List<String> listOfString;
..
}


fetching code:
Code:
em.createQuery("SELECT d FROM DataSet d");



J'ai lu le poste disant que les requêtes HQL ne sont pas affectés par la stratégie de fetching :
http://forum.hibernate.org/viewtopic.php?t=971700&highlight=onetomany+collectionofelements
Mais ce n'est pas vraiment mon cas, mes listes sont correctements chargés, mais j'ai N instance de l'Entity conteneur (au lieu d'1), avec N étant le nombre d'élément dans ma liste...

Je ne comprend pas pourquoi je n'arrive pas à persister quelque chose de si simple...

Merci d'avance pour votre aide !


Top
 Profile  
 
 Post subject:
PostPosted: Thu Oct 25, 2007 5:04 am 
Newbie

Joined: Wed Jul 04, 2007 6:29 am
Posts: 11
J'ai trouvé une solution, j'ai rajouté l'annotation @Fetch(FetchMode.SUBSELECT) pour qu'il fasse une requète supplémentaire :

@CollectionOfElements(fetch = FetchType.EAGER)
@IndexColumn(name = "listString")
@Fetch(FetchMode.SUBSELECT)
private List<String> listString;


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 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.