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 plusieurs colonnes dans une liste


Sujet :

JPA Java

  1. #1
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Points : 40
    Points
    40
    Par défaut Persister plusieurs colonnes dans une liste
    Bonjour,

    je suis un novice en JPA, et j'aimerais savoir s'il était possible de faire la chose suivante :

    j'ai une table DEMO qui possède les colonnes suivantes :

    demo_id, value_1, value_2, value_3, ..., value_50.

    Je voudrais mettre les valeurs de ces 50 colonnes dans une liste (List<Integer>), au lieu d'écrire 50 fois dans ma classe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    @Column(name = "VALUE_1")
    private Integer value1;
    @Column(name = "VALUE_2")
    private Integer value2;
    Comment je peux faire ça ?

  2. #2
    Membre éclairé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 200
    Points : 792
    Points
    792
    Par défaut
    Je voudrais mettre les valeurs de ces 50 colonnes dans une liste (List<Integer>), au lieu d'écrire 50 fois dans ma classe
    Est-ce que tu peux être plus explicite, j'ai du mal à comprendre ce que tu veux vraiment faire.
    Mais quoiqu'il en soit, tu dois savoir que avec JPA, pour faire le mapping, chaque table doit avoir une classe qui corresponde à sa structure. De façon concrète, il te faudra un classe Demo avec 50 attributs + l'attribut qui représente l'id comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @Entity
    @Table(name = "DEMO")
    public class Demo {
        @Id
        @Column(name = "DEMO_ID")
        private Integer demoid;
        @Column(name = "VALUE_1")
        private Integer value1;
        @Column(name = "VALUE_2")
        private Integer value2;
        //ainsi de suite
    }
    c'est grâce à la classe Demo que tu pourras faire des requêtes JPQL sur ta table DEMO et récupérer ou sauvegarder les données comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     EntityManager em = emf.createEntityManager();
            em.persist(demo);//sauvegarde
            demo = em.find(Demo.class, "id");//recherche
            Query query = em.createQuery("SELECT a FROM Demo a");
            List<Demo> demos = query.getResultList();

Discussions similaires

  1. enregistrer plusieurs colonnes d'une liste déroulante dans une table
    Par juliejuliejuliejulie dans le forum VBA Access
    Réponses: 5
    Dernier message: 19/06/2012, 19h18
  2. [AC-2007] En-tête de colonne sur plusieurs lignes dans une list box
    Par Rémi GAUDINAT dans le forum IHM
    Réponses: 2
    Dernier message: 25/10/2010, 12h52
  3. Création de plusieurs colonnes dans une List
    Par WibiMaster dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 21/06/2010, 15h45
  4. Saisie de plusieurs caractère dans une liste déroulante
    Par Oluha dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/03/2005, 15h32
  5. plusieurs value dans une liste deroulante
    Par lepierre dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 16/11/2004, 15h53

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