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 Query Language


Sujet :

Hibernate Java

  1. #1
    Membre confirmé
    Femme Profil pro
    Analyste-developpeur java
    Inscrit en
    Mai 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste-developpeur java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2010
    Messages : 135
    Par défaut Hibernate Query Language
    Bonjour bonjour!
    j'ai une question svp qui concerne une requête en HQL:

    situation:
    j'ai un objet operator (firstName, lastName) qui peut ou non appartenir à une (une seule) team (teamName).
    le résultat de ma query hql liste les operator et j'aimerai agir sur l'ordre de celle liste:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    select o from Operator
     
    ... 
    (... longue query...pas de inner join pour lier les tables Operator et Team...)
    ...
     
    order by o.team.teamName, o.lastName, o.firstName
    Cette requête marche et fait bien ce que je veux mais les Operator qui ne sont liés à aucune Team n'apparaissent plus du tout dans la liste résultat.
    Sauriez vous donc svp comment mettre une condition sur o.team.teamName en hql genre:

    if o.team not null ... order by o.team.teamName, o.lastName, o.firstName
    else order by o.lastName, o.firstName

    ou n'est ce pas réalisable? dites moi que c'est possible!! je suis sur le point de partir dans les implémentations de Comparator pour réordonner la liste.

    Merci d'avance pour vos réponses!

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 476
    Par défaut
    Salut,

    ou n'est ce pas réalisable? dites moi que c'est possible!!
    Ce que tu veux faire avec une seule requête me parait dur pour pas dire impossible.
    Je ne vois vraiment pas comment tu pourrais conditionner le order by en
    fonction que l'opérateur ait une team ou non.

    if o.team not null ... order by o.team.teamName, o.lastName, o.firstName
    else order by o.lastName, o.firstName
    Même si tu pouvais réussir à intégrer ce genre de conditions, l'ordre des résultat obtenu serait assez déroutant en utilisant le prénom ou le nom d'équipe pour ordonner les résultats.
    Tu pourras avoir des gens sans équipe en début de résultat, des gens avec équipe dans les résultats suivant et encore des gens sans équipe ensuite.

    Aussi, ton idée de faire le tri après l'exécution de la requête semble pas mal.

  3. #3
    Membre confirmé
    Femme Profil pro
    Analyste-developpeur java
    Inscrit en
    Mai 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste-developpeur java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2010
    Messages : 135
    Par défaut
    Merci The BloodyMan encore!^^
    Je continue donc sur ma lancée.

Discussions similaires

  1. Object Query Language-OQL et Oracle ?
    Par fred19 dans le forum Oracle
    Réponses: 0
    Dernier message: 07/11/2010, 15h19
  2. Hibernate Query dans JTable
    Par Soulama dans le forum Hibernate
    Réponses: 0
    Dernier message: 19/04/2010, 21h11
  3. hibernate query language
    Par marwen2300 dans le forum Hibernate
    Réponses: 1
    Dernier message: 24/04/2007, 09h03
  4. [Hibernate] Queries et relation NN
    Par azpublic dans le forum Hibernate
    Réponses: 10
    Dernier message: 23/01/2006, 10h52

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