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

JPA Java Discussion :

Persister les maps


Sujet :

JPA Java

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2002
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 108
    Par défaut Persister les maps
    Bonjour,

    Je voudrais savoir si on peut mapper en jpa (ou hibernate) les champs du type Map? Si oui, je peux avoir un exemple ou des liens vers les tutos.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    class Entity {
     
        private Map<String, String> map;
    ...
    }
    Merci

  2. #2
    Membre confirmé
    Profil pro
    Architecte logiciel
    Inscrit en
    Décembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte logiciel

    Informations forums :
    Inscription : Décembre 2008
    Messages : 77
    Par défaut
    Citation Envoyé par trungsi Voir le message
    Bonjour,

    Je voudrais savoir si on peut mapper en jpa (ou hibernate) les champs du type Map? Si oui, je peux avoir un exemple ou des liens vers les tutos.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    class Entity {
     
        private Map<String, String> map;
    ...
    }
    Merci
    Ma réponse va peut être semblée à côté mais, quand je vois ce que tu veux faire, c'est comme si tu avais une collection d'objets qui utiliserait une clé primaire de genre String.

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2002
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 108
    Par défaut
    csperandio,

    Oui, en fait, je peux ajouter une classe contenant le paire name-value du map et transformer le map en collection.
    Mais justement c'est ma question. Je me demande si on peut ne pas créer une nouvelle classe et utiliser le map directement.

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2002
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 108
    Par défaut
    Je n'ai pas trouvé de solution en JPA mais en Hibernate

    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
     
    class Entity {
     
        private Map<String, String> map;
     
        @CollectionOfElements(fetch=FetchType.EAGER) // mapper une collection de type primitif
        @JoinTable(name="map") 
        @JoinColumn(name="entity")
        @MapKey(columns=@Column(name="name"))
        @Column(name="value")
        //@Lob // si value est du type clob
        public Map<String, String> getMap() {
            //getter
        }
    ...
    }
    En plus c'est mieux que la solution de création d'une nouvelle classe en terme de requête sql générées.

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

Discussions similaires

  1. [conception] les maps et leur chargement
    Par zax-tfh dans le forum Développement 2D, 3D et Jeux
    Réponses: 13
    Dernier message: 16/02/2006, 02h10
  2. Questions sur les Map
    Par djobanaille dans le forum C++
    Réponses: 3
    Dernier message: 12/12/2005, 09h41
  3. STL: les map et la methode find. que fait-elle?
    Par cokmes dans le forum SL & STL
    Réponses: 6
    Dernier message: 07/11/2005, 08h31
  4. Probleme de auto_ptr avec les map
    Par Luther dans le forum C++
    Réponses: 8
    Dernier message: 08/04/2005, 10h49
  5. Quel format de fichier utiliser pour les maps ?
    Par fb57 dans le forum OpenGL
    Réponses: 3
    Dernier message: 23/09/2004, 20h22

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