Bonjour à tous,
je travaille sur un projet web /J2EE (base de données MySQL+JPA+DAO+JSF)
j'ai un soucis avec les clés étrangères, en fait, j'ai une table examen médical qui possède une clé étrangère faisant référence à la table patient,
j'arrive à ajouter des patients, mais, ceci, je n'arrive pas à le faire pour le cas des examens, voici mon code JSF:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<f:view>
        <h:form>
            <h:panelGrid columns="2">
..........................................................
...........................................................
 
                <h:outputText value="IdPatient:"/>
                <h:selectOneMenu id="idPatient" value="#{patientmanager.nom}" title="IdPatient" required="true">
               <f:selectItems value="#{patientmanager.allPatients}"/>
                </h:selectOneMenu>
            </h:panelGrid>
        </h:form>
    </f:view>
Avant meme d'ajouter un bouton de validation, j'ai fais l'exécution, j'obtiens,
l'erreur suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
javax.servlet.ServletException: Argument Error: 
An option for component idPatient was not an instance of javax.faces.model.SelectItem.  
Type found: java.util.ArrayList.
voici le code de la méthode AllPatients qui se trouve dans PatientsDAO:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
  public List<Patients> getAllPatients() {
     List<Patients> users = em.createQuery("select a from Patients a").getResultList();
     return users;
 }
D'après l'exception trouvée, je comprends qu'il faut utiliser SelectItem au lieu de ArrayList, mais, je ne sais pas comment faire.
svp, y a -t- des personnes que peuvent m'aider, je sais que ceci est très facile pour quelques personnes, mais, tous, nous devons commencer par des chose débutantes pour devenir un jour des experts.
Merci d'avance.