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 & Multi-Criteria Search


Sujet :

Hibernate Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 13
    Points : 8
    Points
    8
    Par défaut Hibernate & Multi-Criteria Search
    Bonjour,

    Je développe actuellement une application dont la couche métier s'appuie sur Hibernate 3.2. Côté couche présentation j'ai des écrans de recherche dont les formulaires de recherche contiennent beaucoup de champs (plus de 50 en moyenne).

    Mon problème est le suivant :
    Pour l'instant, les méthode de la couche Service qui appellent des Dao Hibernate sont de la forme public List<Entity> search (field1, field2, ... field n)
    C'est tout à fait ridicule de passer autant de paramètres à une fonction, j'en conviens. Je ne peux pas passer en paramètre un objet Entity et travailler avec l'API Example d'Hibernate car pour une propriété date, il y a 2 champs et pas simplement le champ date de mon objet Entity. On recherche une date entre une borne inférieure et une borne supérieure.
    Je projette donc de créer une classe/interface SearchCriteria<T> qui représenterai un set de Criteria ou de DetachedCriteria. Cela me permettrait de ne passer qu'un seul objet et de ne pas multiplier le nombre de paramètres.
    Ne voulant pas réinventer la roue je suis à la recherche d'exemples concrets ou de retours à ce sujet.

    Je pense que quelqu'un a déjà pensé à la gestion d'un nombre important de critères de recherche dans une recherche multi-critère avec Hibernate ? non ?

    Merci d'avance,
    Julien.

  2. #2
    Membre régulier Avatar de youcef81
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mai 2006
    Messages : 241
    Points : 75
    Points
    75
    Par défaut
    Proposition :

    tu englobe tes critère dans une classe wrapper :

    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
    26
     
    public class CriteriaWrapper {
     
    	private Date critere1;
    	private Date critere2;
    	private String critere3;
     
    	public Date getCritere1() {
    		return critere1;
    	}
    	public void setCritere1(Date critere1) {
    		this.critere1 = critere1;
    	}
    	public Date getCritere2() {
    		return critere2;
    	}
    	public void setCritere2(Date critere2) {
    		this.critere2 = critere2;
    	}
    	public String getCritere3() {
    		return critere3;
    	}
    	public void setCritere3(String critere3) {
    		this.critere3 = critere3;
    	}
    }
    et dans ta méthode de recherche tu passe ce wrapper et tu appel les getters.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
       private Object[] searchByCriteria(CriteriaWrapper wrapper) {
    		// Appel des getters. lors la construction de la requete
     }

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 13
    Points : 8
    Points
    8
    Par défaut et dans ce qui existe ?
    Ok merci, et est-ce que quelqu'un connait un framework opensource ou a connaissance d'un projet Java 5 qui utilise ce système de wrapper pour encapsuler des critères de recherche ? quelque-chose de plus générique ?
    C'était un peu mon idée à la base mais je voulais voir si on pouvait faire quelque-chose de plus robuste/générique.
    Merci.

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/12/2011, 11h31
  2. Hibernate avec requete Criteria
    Par Shogun dans le forum Hibernate
    Réponses: 0
    Dernier message: 14/11/2007, 12h14
  3. Hibernate et multi-classloading
    Par xixi31 dans le forum Hibernate
    Réponses: 2
    Dernier message: 05/04/2007, 18h28
  4. [ Hibernate ] Avantages des Criteria ?
    Par cicolas dans le forum Hibernate
    Réponses: 5
    Dernier message: 26/06/2006, 16h07
  5. [criteria-hibernate] question sur criteria
    Par mehdi_swatch dans le forum Hibernate
    Réponses: 13
    Dernier message: 29/05/2006, 10h45

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