Bonjour Mon projet est fait de JSF(Primefaces) + Hibernate(Reverse à partir de la B.D).
J'ai une table employé qui contient 2 clé étrangères( teamleaderId + formateurId). Dans le formulaire d'ajout d'un nouveau employé j'ai réussi à afficher dans une SelectOneMEnu teamleaderId + formateurId sous forme de nom afin de récupérer leurs ID
Voir l'image
Mais lors de l'enregistrement rien ne ce passe, quelque svp peut m'aider j'ai passé 4 jours à essayer de résoudre ce problème.
Merci
JSF :
EmployerController :
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 <p:dialog widgetVar="dlgEmployer" resizable="true" height="450" width="450" header="Ajout Employé" position="center"> <p:panelGrid columns="2" style="margin-bottom:10px" > <h:outputText value="Adresse"/> <p:inputText id="adresse3" value="#{employerController.employers.adresse}" required="true" requiredMessage="Le champ adresse est obligatoire"/> <h:outputText value="Cin"/> <p:inputText id="cin3" value="#{employerController.employers.cin}" required="true" requiredMessage="Le champ nom cin est obligatoire"/> <h:outputText value="Compte"/> <p:selectOneMenu value="#{employerController.employers.compte}"> <f:selectItem itemLabel="Select One" itemValue="" /> <f:selectItem itemLabel="AFPA" itemValue="1" /> <f:selectItem itemLabel="GDF Suez" itemValue="2" /> <f:selectItem itemLabel="Eletrabel" itemValue="3" /> </p:selectOneMenu> <h:outputText value="Email"/> <p:inputText id="email3" value="#{employerController.employers.email}" required="true" requiredMessage="Le champ email categorie est obligatoire"/> <h:outputText value="Nom"/> <p:inputText id="nom3" value="#{employerController.employers.nom}" required="true" requiredMessage="Le champ nom est obligatoire"/> <h:outputText value="Prenom"/> <p:inputText id="prenom3" value="#{employerController.employers.prenom}" required="true" requiredMessage="Le champ prenom est obligatoire"/> <h:outputText value="Pseudo"/> <p:inputText id="pseudo3" value="#{employerController.employers.pseudo}" required="true" requiredMessage="Le champ pseudo est obligatoire"/> <h:outputText value="Sexe"/> <p:selectOneRadio id="sexe5" value="#{employerController.employers.sexe}" required="true" requiredMessage="Le champ sexe est obligatoire"> <f:selectItem itemLabel="Homme" itemValue="Homme" /> <f:selectItem itemLabel="Femme" itemValue="Femme" /> </p:selectOneRadio> <h:outputText value="Telephone"/> <p:inputText id="telephone3" required="true" value="#{employerController.employers.telephone}"/> <h:outputText value="Formateur"/> <h:selectOneMenu id="Formateurcombo" value="#{employerController.employers.formateur.formateurId}"> <f:selectItems value="#{employerController.listformateurname}" var="s" itemValue="#{s.formateurId}" itemLabel="#{s.nom}" /> </h:selectOneMenu> <h:outputText value="Team leader"/> <h:selectOneMenu id="selectListTeamLeader" value="#{employerController.employers.teamleader.teamleaderId}"> <f:selectItems value="#{employerController.listteamleadername}" var="s" itemValue="#{s.teamleaderId}" itemLabel="#{s.nom}" /> </h:selectOneMenu> <p:commandButton value="enregistrer" id="eng1" actionListener="#{employerController.ajouter(actionEvent)}" update="dataemployer" oncomplete="dlgEmployer.hide()"/> </p:panelGrid> <pe:keyFilter for="telephone3" mask="num"/> <pe:keyFilter for="email3" regEx="/[a-z0-9_\.\-@]/i"/> </p:dialog>
Classe model Employer :
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 @ManagedBean @SessionScoped @ViewScoped public class EmployerController { private Employer employer; private DataModel listEmployers; private DataModel listformateurname; private DataModel listteamleadername; private Employer selectedEmployer; private Employer[] selectedEmployers; private List<Employer> filteredEmployers; public DataModel getListteamleadername() { List<Teamleader> lista1 = new TeamleaderDao().list(); listteamleadername = new ListDataModel(lista1); return listteamleadername; } public void setListteamleadername(DataModel listteamleadername) { this.listteamleadername = listteamleadername; } public DataModel getListformateurname() { List<Formateur> lista = new FormateurDao().list(); listformateurname = new ListDataModel(lista); return listformateurname; } public void setListformateurname(DataModel listformateurname) { this.listformateurname = listformateurname; } public void ajouter(ActionEvent actionEvent){ InterfaceEmployer dao = new EmployerDao(); dao.enregistrer(employer); }
Employer Dao :
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 public class Employer implements java.io.Serializable { private Integer employerId; private Teamleader teamleader; private Formateur formateur; private String adresse; private String cin; private String compte; private String email; private String nom; private String prenom; private String pseudo; private String sexe; private String telephone; private Set<Inscription> inscriptions = new HashSet<Inscription>(0); // Constructeur + get/set
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public class EmployerDao implements InterfaceEmployer{ @Override public void enregistrer(Employer employer) { Session ss= HibernateUtil.getSessionFactory().getCurrentSession(); ss.beginTransaction(); ss.save(employer); ss.beginTransaction().commit(); }
Partager