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 :

Collection d'Enum


Sujet :

Java EE

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 62
    Points : 71
    Points
    71
    Par défaut Collection d'Enum
    Bonjour à tous,

    Je suis en train de réaliser un projet en EJB3. Je connais assez cette technologie pour résoudres les problèmes "standards", mais là je bloque.

    J'aimerais utiliser une collection (un Set, pour être précis) d'Enum dans l'un de mes entity.
    Dans le cas de l'utilisation d'un simple Enum, il suffit de l'annoter de @Enumeration(EnumType.STRING), et tout roule. Avec une collection d'Enum, celà ne fonctionne pas, et le server se plaint tout le temps de ne pas pouvoir trouver de constructeur public (normal, c'est des Enum).

    Une solution consisterais à changer la collection d'Enum en collection de String, mais pour moi c'est plus du bricolage qu'autre chose. J'aimerais savoir s'il n'y a pas une méthode plus simple.

    Voilà une partie du code, pour expliciter le pb :

    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
    17
    18
    19
     
    @Entity
    public class User implements Serializable {
       [...]
       @ManyToMany
       [@Enumerated(EnumType.STRING)] // J'ai testé avec et sans
       private Set<Role> roles;
     
       // Getters - Setters
    }
     
    // Autre fichier
    public enum Role {
       USER,
       POWER_USER,
       ADMIN;
     
       // Custom constructor (interdit d'être public)
    }
    Si quelqu'un a une idée, je suis prenneur.

    Merci d'avance.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 39
    Points : 26
    Points
    26
    Par défaut
    Ben je pense que tu peux créer un constructeur public pour ton énumération... Ca résoudra peut-être le problème

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 62
    Points : 71
    Points
    71
    Par défaut
    Les enums ne peuvent pas avoir de constructeurs publics, car ils sont "pré-définis", cad tu ne peux pas en créer de nouveaux à la volée.

Discussions similaires

  1. Stocker une collection d'enum
    Par csperandio dans le forum JPA
    Réponses: 2
    Dernier message: 16/05/2009, 18h12
  2. Mapper une Collection/Set d'enum
    Par phantomass dans le forum JPA
    Réponses: 6
    Dernier message: 03/01/2008, 13h42
  3. [VB6] la collection controls
    Par tomnie dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 30/04/2003, 17h03
  4. Comment créér une collection sous Delphi
    Par PsyKroPack dans le forum Langage
    Réponses: 6
    Dernier message: 11/02/2003, 13h20
  5. [VB6] Modifier la clé d'un élément d'une collection
    Par Ricou13 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/11/2002, 14h49

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