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

Java EE Discussion :

Contrôle des collections générées dans les relationships [EJB2.1 Entity]


Sujet :

Java EE

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    novembre 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2008
    Messages : 44
    Points : 66
    Points
    66
    Par défaut Contrôle des collections générées dans les relationships
    Je me demandais s'il y avais moyen d'ordonner le contenu des collections générées via les relationships (champs cmr). Par défaut, ces collections sont ordonnés de façon aléatoire. Je peux bien sûr contourner le problème en ajoutant une méthode finder avec un order by ou en transférant la collection dans une autre ordonnée. Mais ça serait plus simple si je pouvais intervenir directement sur l'ordonnacement des collections reçues via les cmr.

    Merci pour toute information.

  2. #2
    Rédacteur
    Avatar de longbeach
    Inscrit en
    avril 2003
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : avril 2003
    Messages : 943
    Points : 2 112
    Points
    2 112
    Par défaut
    non, comme répondu dans un précédent thread.
    On parle bien des EJB 2.X ? Principalement pour des raisons de portabilité avec toutes les bases du marché.

    Des explications :

    For EJB QL to maintain its status as an abstraction of native query languages (SQL-92, JDOQL, OQL, etc.) it cannot dictate String ordering, because native query languages may have very different ordering rules. In fact, relational database vendors differ on the question of String ordering, which makes it all but impossible to standardize ordering even for SQL-compliant databases.
    According to Sun, the ORDER BY clause was not included in [ EJB 2.0 ] because of problems dealing with the mismatch in ordering behavior between the Java language and databases. The example they gave had to do with string values. The semantics of ordering strings in a database may be different [from] those of the Java language. For example, Java orders String types according to character sequence and case (uppercase vs. lowercase). Different databases may or may not consider case while ordering, or they may not consider leading or trailing whitespace. In light of these possible differences, it seems as though Sun has a reasonable argument, but only for limiting the portability of ORDER BY, not for eliminating its use all together. EJB developers can live with less than perfect portability of the ORDER BY clause, but they cannot live without the ORDER BY clause altogether.

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

    Informations forums :
    Inscription : novembre 2006
    Messages : 7 177
    Points : 9 296
    Points
    9 296
    Billets dans le blog
    1
    Par défaut
    La question de la version des EJB me semble importante en effet.
    En v3, il y a de multiples possibilités pour trier les listes d'objets liés, mais en v2, je ne pourrais pas t'aider...

    Peux-tu préciser ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    novembre 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2008
    Messages : 44
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    La question de la version des EJB me semble importante en effet.
    En v3, il y a de multiples possibilités pour trier les listes d'objets liés, mais en v2, je ne pourrais pas t'aider...

    Peux-tu préciser ?
    Je code avec EJB 2.1. Celui-ci supporte en effet les order by dans les requêtes finders, spécifiées en EJB-QL. Mais les getters associés aux champs cmr sont retournées en ordre aléatoire, ce qui rend ces getters un peu inutile à mon avis.

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

    Informations forums :
    Inscription : novembre 2006
    Messages : 7 177
    Points : 9 296
    Points
    9 296
    Billets dans le blog
    1
    Par défaut
    Dommage...
    En V3, tu as les order-by qui fonctionnent mais également des possibilités liées à l'implémentation du JPA.
    Avec Hibernate par exemple, tu as la possibilité de préciser un comparateur pour la liste et du coup, on fait ce qu'on veut... mais bon, hors sujet pour toi...

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    novembre 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2008
    Messages : 44
    Points : 66
    Points
    66
    Par défaut
    Mon employeur utilise les EJB2.1, c'est pourquoi pour le moment je me concentre à apprendre cette technologie. Je me pigerai sûrement un bouquin sur EJB3.0 lorsque l'occasion s'en présentera. Mais j'espère que le standard Java va se stabiliser un peu dans les années à venir, parce que c'est du vrai sable mouvant à date. J2SE et J2EE sont encore immatures.

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

Discussions similaires

  1. Réponses: 22
    Dernier message: 14/04/2006, 18h01
  2. Comment entrer des formules chimiques dans les champs access
    Par Monbasinstinct dans le forum Access
    Réponses: 18
    Dernier message: 06/04/2006, 18h39
  3. ouverture des balises PHP dans les include
    Par FoxLeRenard dans le forum Langage
    Réponses: 5
    Dernier message: 30/01/2006, 13h08
  4. Réponses: 3
    Dernier message: 15/04/2004, 09h44
  5. Gestion des message windows dans les threads
    Par billyboy dans le forum Windows
    Réponses: 5
    Dernier message: 06/10/2003, 18h25

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