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 :

[Criteria] Besoin d'informations


Sujet :

Hibernate Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 258
    Points : 171
    Points
    171
    Par défaut [Criteria] Besoin d'informations
    Bonjour,
    J'ai compris le principe des criteria.
    Par contre j'ai une question :

    J'ai dans mon projet des objet persistents managés par Hibernate.

    Prenons un exemple, j'ai un objet "Utilisateur" qui a pas mal de foreign key par exemple une fk sur une table "Typeutilisateur", une fk sur la table "SexeUtilisateur" une sur "CouleurYeuxUtilisateur" ... (Ceci est un exemple afin d'illustrer ma question).
    Si je veux être logique dans mon objet Manager de l'objet Utilisateur, il faut que j'écrive une requête pour récupérer le(s) Utilisateurs en fonction du type d'utilisateur, une pour le sexe et une pour la couleur des yeux ...

    Je me demande si je ne peux pas écrire une et une seule requête en passant par les Criteria. Le problème est que je ne sais pas comment m'y prendre, si qqu'un peut me donner un coup de main je suis vraiment preneur.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 258
    Points : 171
    Points
    171
    Par défaut
    Après avoir réfléchi cette nuit j'ai deux possibilités:

    1: Ecrire une requête qui prend un Criteria en paramètre. Le problème est que ma couche graphique doit créer le criteria. En conséquence si un jour je change de framework de persistance il faut que je fasse une passe sur toutes mes classes de présentations.

    2: Ecrire une requête qui prend en paramètre un Criteria et dans mon manager écrire des méthode du style getUtilisateurBySexe(String identifiantSexe) ... et c'est cette méthode qui se charge (dans ma couche DAO) de construire le criteria et d'appeller le methode. Le problème reste entier il faut que je code une méthode par fk + 1 méthode de recherche par Criteria.

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Un exemple qui pourrait t'aider
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public List listMnemoniques(String mnemo, String[] types, int maxRecords)
    {
        Criteria query = getSession().createCriteria(Variable.class);
        if (maxRecords > 0) query.setMaxResults(maxRecords);
     
        if ( mnemo != null ) query.add(Expression.ilike("varMnemo1", mnemo));
        if ( types != null ) query.add(Expression.in("typNom", types));
     
        query.addOrder( Order.asc("varMnemo1") );
     
        return query.list();
    }
    A+

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 258
    Points : 171
    Points
    171
    Par défaut
    Ok merci, je vais partir sur ma solution 1:

    "1: Ecrire une requête qui prend un Criteria en paramètre. Le problème est que ma couche graphique doit créer le criteria. En conséquence si un jour je change de framework de persistance il faut que je fasse une passe sur toutes mes classes de présentations."

    Je ne pense pas changer de Framework de persitance, du coup j'ai moins de requête a écrire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Besoin d'information sur les téléafficheurs
    Par vallica dans le forum Windows
    Réponses: 5
    Dernier message: 16/08/2006, 15h22
  2. Besoin d'informations a propos de Quality Workbench
    Par charleshbo dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 16/02/2006, 15h40
  3. [xmlrad] besoin d'information svp
    Par ekmule dans le forum XMLRAD
    Réponses: 7
    Dernier message: 20/01/2006, 14h33
  4. besoin d'information sur le Streaming
    Par Dnx dans le forum Windows
    Réponses: 1
    Dernier message: 28/10/2005, 15h04
  5. [Rave][Delphi][Base SQL] besoin d'informations
    Par David Altech dans le forum Rave
    Réponses: 1
    Dernier message: 30/07/2003, 13h59

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