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 :

Remplir plusieurs tables à partir d un seul formulaire


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Turquie

    Informations forums :
    Inscription : Mars 2013
    Messages : 34
    Par défaut Remplir plusieurs tables à partir d un seul formulaire
    bonsoir ,
    je veux savoir comment Remplir plusieurs tables à partir d un seul formulaire,je travaille avec jpa et jsf ,
    merci d'avance

  2. #2
    Membre éclairé
    Avatar de omar344
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2007
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2007
    Messages : 287
    Par défaut
    Est ce que tu arrives à remplir une seule table?
    A mon avis si tu y parviens, ton problème est résolu, car c'est pareil

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Turquie

    Informations forums :
    Inscription : Mars 2013
    Messages : 34
    Par défaut
    merci omar344
    oui j'ai réussi à remplir une seule table
    j'ai deux tables Candidat et Diplôme(titre,mention,id_candidat est le clé étrangère dans diplome) dans mysql
    j'ai crée une une méthode qui fait ajout mais id_candidat=null dans table Diplôme
    je suis débutant vous pouvez m'aider

  4. #4
    Membre éclairé
    Avatar de omar344
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2007
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2007
    Messages : 287
    Par défaut
    Franchement je n'ai pas compris ce que tu veux dire, mais si tu ajoutes des morceaux de codes comme ça on pourra t'aider

  5. #5
    Membre averti
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Turquie

    Informations forums :
    Inscription : Mars 2013
    Messages : 34
    Par défaut
    ok
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    classe Candidat
    public class Candidat implements Serializable  {
         @ Id
        @Column(name ="id_candidat")
        @GeneratedValue(strategy = GenerationType.AUTO)
        private Integer idCandidat;
     
        @Column(name="nom")
        private String nom;
     
       @Column(name="prenom")
        private String prenom;
     
       @Column(name ="civilite")
        private String civilite;
     
        @Temporal(TemporalType.DATE)
        @Column(name ="dateNaiss")
        private Date dateNaiss;
     
        @Column(name ="lieuNaiss")
        private String lieuNaiss;
     
        @Column(name ="adresse")
        private String adresse;
     
       @Column(name ="tele")
        private String tele;
     
       @Column(name ="email")
        private String email;
     
        @Column(name ="statutMerital")
        private String statutMerital;
     
        public Candidat() {
        }
       @OneToMany(mappedBy ="candidat" )
        private List<Diplome> diplomes;
    }
    classe  Diplome
    public class Diplome implements Serializable {
        @Id
        @Column(name = "id_diplome")
        @GeneratedValue(strategy=GenerationType.AUTO)
        private Integer idDiplome;
     
        @Column(name = "titre")
        private String titre;
     
        @Column(name ="etablissement")
        private String etablissement;
     
        @Temporal(TemporalType.DATE)
        @Column(name ="dateObtention")
        private Date dateObtention;
     
        @Column(name ="mention")
        private String mention;
     
        @ManyToOne(cascade = CascadeType.PERSIST) 
        private Candidat candidat;
    }
    methode qui ajoute candidat
      // ajouter un candidat
    	public Candidat ajouterCandidat(Candidat candidat) {
    		getEntityManager().getTransaction().begin();
    		getEntityManager().persist(candidat);
    		getEntityManager().getTransaction().commit();
    		return candidat;
    }
    methode qui ajoute Diplome 
    	public Diplome  ajouterDiplome(Diplome diplome) {
    		getEntityManager().getTransaction().begin();
    		getEntityManager().persist(diplome);
    		getEntityManager().getTransaction().commit();
    		return diplome;
    	}
    et j'ai une page jsf qui contient les attributs de candidat et diplôme,
    je veux une méthode qui permet d'ajouter plusieurs diplomes à un meme candidat .
    merci d'avance

  6. #6
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Bonjour,
    Eh bien voila ce qu'il faut faire :
    Tu commences par ajouter ton Candidat (si ce n'est deja fait), et apres Ajout le Candidat à retourner c'est celui fourni par ton entityManager, et non celui qui était en paramètre, ce pour 2 raisons :
    -L'identifiant technique est valorisé, il était null dans le paramètre en entrée, si cet identifiant est bien sûr géré automatiquement
    -L'objet ajouté est desormais connu dans ton contexte de persistence, donc peut être attaché au Diplome à créer :
    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
    methode qui ajoute candidat
      // ajouter un candidat
    	public Candidat ajouterCandidat(Candidat candidat) {
    		getEntityManager().getTransaction().begin();
    		candidat = getEntityManager().persist(candidat);
    		getEntityManager().getTransaction().commit();
    		return candidat;
    }
    //methode qui ajoute Diplome 
    	public Diplome  ajouterDiplome(Diplome diplome) {
    diplome.setCandidat(tonCandidatPrecedemmentAjoute);
    		getEntityManager().getTransaction().begin();
    		getEntityManager().persist(diplome);
    		getEntityManager().getTransaction().commit();
    		return diplome;
    	}
    Et tu rappelles cette dernière méthode autant de fois qu'il y'a de Diplomes à ajouter.

Discussions similaires

  1. Remplir une table à partir d'un formulaire
    Par coco38 dans le forum Access
    Réponses: 2
    Dernier message: 16/05/2008, 19h31
  2. Créer plusieures tables à partir d'une seule
    Par CHINAILLON dans le forum VBA Access
    Réponses: 4
    Dernier message: 20/03/2008, 15h35
  3. Regrouper plusieurs tables liées dans un seul formulaire
    Par Kareg dans le forum Modélisation
    Réponses: 9
    Dernier message: 01/08/2007, 13h24
  4. [Formulaire]Remplir une table à partir d'un formulaire
    Par mystikgirl30 dans le forum IHM
    Réponses: 5
    Dernier message: 13/04/2007, 11h38
  5. Réponses: 2
    Dernier message: 11/04/2007, 12h14

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