-->
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.  [ 3 posts ] 
Author Message
 Post subject: Problème de load avec une clause where
PostPosted: Wed Nov 23, 2005 11:20 am 
Newbie

Joined: Fri Sep 02, 2005 10:21 am
Posts: 11
Location: Fribourg, SWITZERLAND
Hibernate version: 3.0

Bonjour,

J’ai une application qui selon les critères choisis par l’utilisateur doit me retourner une liste de groupes de recherche qui contiennent des projets de recherche.

Extrait du pojo des groupes de recherche:
Code:
public class ResearchGroup implements Comparable {

   private Long id;
   private String shortName;
   …
   private Set researchProjects;
   …

   public ResearchGroup() {
   }

}


Extrait du mapping des groupes de recherche:
Code:
class name="ResearchGroup" table="FUT_GROUPE_RECHERCHE">
      <id name="id" column="GR_NO" type="long" />
      <property name="shortName" column="GR_NOM_COURT" />
     …

      <set name="researchProjects" lazy="false">
         <key column="GR_NO" />
         <one-to-many class="ResearchProject"/>
      </set>

   </class>


Problème: je dois n’afficher que les projets entre deux dates choisies par l’utilisateur (ainsi que leur groupe).

Solutions:
1) Dois-je loader mes groupes de recherche puis mes projets (avec une requête HQL pour les groupes puis une pour les projets)?

2) Existe-t-il une solution avec le mapping (donc je ne load que mes groupes qui loadent mes projets automatiquement). J’ai pensé utiliser une clause where dans mon set
Code:
<set name="researchProjects" lazy="false" where “…”>
, mais je dois passer des parameters. Mais comment?

Avez vous une idée de comment résoudre ce problème.

Merci et salutations.
Cédric


Top
 Profile  
 
 Post subject:
PostPosted: Wed Nov 23, 2005 12:51 pm 
Hibernate Team
Hibernate Team

Joined: Thu Dec 18, 2003 9:55 am
Posts: 1977
Location: France
dynamic filters pour une solution qui filtrera les elements de ta collections

HQL mais le retour de ta requete sera les projets et non ResearchGroup chargé uniquement avec les projet qui t'interessent...

dynamic filter est tres simple a mettre en place, un velour!

Essaie
http://www.hibernate.org/hib_docs/v3/re ... e/#filters

_________________
Anthony,
Get value thanks to your skills: http://www.redhat.com/certification


Top
 Profile  
 
 Post subject:
PostPosted: Thu Nov 24, 2005 4:58 am 
Newbie

Joined: Fri Sep 02, 2005 10:21 am
Posts: 11
Location: Fribourg, SWITZERLAND
Merci ça fonctionne très bien!

Par contre il y a une petite erreur dans l'exemple de la doc (petite faute de frappe sur le nom d'une méthode).
Code:
session.enabledFilter("effectiveDate").setParameter("asOfDate", new Date());


La méthode enabledFilter n'existe pas. Il faut donc naturellement utiliser enableFilter.
Peut-être que tu peux faire corriger.

Merci pour ton aide.
Cédric


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