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 :

Mapper des listes de listes


Sujet :

Hibernate Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2007
    Messages : 71
    Points : 62
    Points
    62
    Par défaut Mapper des listes de listes
    Bonjour à tous,

    j'ai le use case suivant : la migration de produits implique la réalisation d'actions sous certaines conditions.

    J'ai donc 3 classes : Migration, Action et Condition que je souhaite mapper sous Hibernate de façon à avoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public class Migration {
     
         private HashMap<List<Condition>, List<Action>> actionsAEffectuer;
    }
    A chaque migration, je souhaite donc parcourir l'ensemble des actions à effectuer, vérifier si les conditions sont remplies, et appliquer l'ensemble des actions correspondant à ces conditions.

    Comment feriez-vous cela ?

    J'ai pensé à ajouter une classe Règle, qui contiendrait les conditions et les actions, mais je préfère éviter pour différentes raisons.

    Merci par avance pour réponses,
    MiniMarch'

    PS: je suis ouvert à des HashSet et Set, au lieu des HashMap et List... bien entendu...

  2. #2
    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
    Je vois plutôt ça sous la forme de relations simples
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Migration
       Condition1
          Action1
          Action2
       Condition2
          Action1
          Action3
    ...etc
    Donc, tu as une classe Migration qui contient un Set de Condition qui contient elle-même un Set d'Action...
    Je ne vois pas trop ta Map<List<Condition>>, List<Action>>

    Maintenant, si pour une Condition, tu as des listes d'actions différentes en fonction de la "Migration", il faudra passer par une table de relation (<ManyToMany>) pour lier Migration/Condition à Action, c'est à peine plus compliqué...

    Autre cas... j'ai rien compris à ton besoin (non négligeable !)

    A+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2007
    Messages : 71
    Points : 62
    Points
    62
    Par défaut
    En fait, les relations auraient plutôt la forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Migration1
       si Condition1 && Condition2 alors action1, action2 && action3
       si Condition2 alors action4
       si Condition1 && Condition3 alors action5 && action6
    Migration2
       ...
    Et là, ça se complique un poil...

  4. #4
    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 peu effectivement, il faut rajouter un niveau que j'appellerai "GroupeCondition" et "GroupeAction"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Migration1
       GroupeCondition1   <---- GroupeAction1
          Condition1                     Action1
          Condition2                     Action2
       GroupeCondition2
          Condition1
          Condition3
    ...
    Là, tu peux tout faire je pense...

    A+

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2007
    Messages : 71
    Points : 62
    Points
    62
    Par défaut
    Après discussion avec d'autres personnes, c'est ce que j'ai fini par faire. ça complique un peu mon diagramme de classes, mais au moins ça résout tous les problèmes.

    Merci à tous pour vos réponses.

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

Discussions similaires

  1. Regrouper une liste en liste de listes
    Par West01 dans le forum Prolog
    Réponses: 12
    Dernier message: 14/03/2008, 14h07
  2. Réponses: 5
    Dernier message: 27/04/2007, 18h11
  3. [PHP-JS] gestion des erreurs sur liste déroulente
    Par HwRZxLc4 dans le forum Langage
    Réponses: 9
    Dernier message: 28/05/2006, 03h21
  4. contrôle des zones de liste dans formulaire
    Par philpaul dans le forum IHM
    Réponses: 4
    Dernier message: 25/11/2005, 23h28

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