Bonjour.
J'essaie désespérément d'afficher le résultat d'une requête dans une page JSF en m'inspirant du tuto de Mickaël Robert.
Comme vous le voyez, la requête réelle est complexe et c'est pour ça que j'ai essayé de la faire en SQL natif mais comme cela ne fonctionnait pas, j'ai essayé de faire beaucoup plus simple... sans succès
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 @Stateful @Scope(CONVERSATION) @Name("listeStages") public class ListeStages implements Serializable { @Logger private Log log; @In(required = true) private EntityManager entityManager; /*@In private ThEtudiantEtu etudiant;*/ @DataModel private List<ThStageStg> stages; @DataModelSelection @Out(required = false) private ThStageStg stage; private Map<Integer, Boolean> selection = new HashMap<Integer, Boolean>(); @SuppressWarnings("unchecked") @Factory("stages") public void genererListeStages() { try { /*Query query = entityManager.createNativeQuery( "SELECT ssn.ssn_id, ssn.ssn_libelle, ssn.ssn_date_debut, ssn.ssn_date_fin, " + "cmn.cmn_nom, dpt.dpt_numero, rgn.rgn_nom " + "FROM te_session_ssn ssn " + "INNER JOIN th_stage_stg stg ON stg.stg_id_session = ssn.ssn_id " + "INNER JOIN te_etablissement_etb etb ON etb.etb_id = stg.stg_id_etablissement " + "INNER JOIN tr_commune_cmn cmn ON cmn.cmn_id = etb.etb_id_commune " + "INNER JOIN tr_departement_dpt dpt ON dpt.dpt_id = cmn.cmn_id_departement " + "INNER JOIN tr_region_rgn rgn ON rgn.rgn_id = dpt.dpt_id_region " + "INNER JOIN tj_stg_concerner_dsc_scd scd ON scd.scd_id_stage = stg.stg_id_session " + "INNER JOIN te_discipline_dsc dsc ON dsc.dsc_id = scd.scd_id_discipline " + "INNER JOIN te_concours_ccr ccr ON ccr.ccr_id_discipline = dsc.dsc_id " + "INNER JOIN th_etudiant_etu etu ON etu.etu_id_concours = ccr.ccr_id ");/* + "WHERE etu.etu_id_candidat = :idEtudiant "); query.setParameter("idEtudiant", this.utilisateur.getPrsId());*/ Query query = entityManager.createQuery("SELECT s FROM thStageStg s"); this.stages = (List<ThStageStg>) query.getResultList();
Erreur obtenue :
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 <rich:dataTable id="listeStagesFiltree" rendered="#{not empty listeStages.stages}" value="#{listeStages.stages}" var="stage"> <h:column> <f:facet name="header">Choisir</f:facet> <h:selectBooleanCheckbox id="choisir" value="#{listeStages.selection[stage.ssnId]}"/> </h:column> <h:column> <f:facet name="header"> <ui:include src="layout/sort.xhtml"> <ui:param name="entityList" value="#{listeStagesFiltree}"/> <ui:param name="propertyLabel" value="Libellé"/> <ui:param name="propertyPath" value="listeStages.ssnLibelle"/> </ui:include> </f:facet> <h:outputText value="#{stage.ssnLibelle}"/> </h:column> <h:column> <f:facet name="header"> <ui:include src="layout/sort.xhtml"> <ui:param name="entityList" value="#{listeStagesFiltree}"/> <ui:param name="propertyLabel" value="Lieu"/> <ui:param name="propertyPath" value="listeStages.teEtablissementEtb.etbNom"/> </ui:include> </f:facet> <h:outputText value="#{stage.teEtablissementEtb.etbNom}"/> </h:column> <h:column> <f:facet name="header"> <ui:include src="layout/sort.xhtml"> <ui:param name="entityList" value="#{listeStagesFiltree}"/> <ui:param name="propertyLabel" value="Date de début"/> <ui:param name="propertyPath" value="listeStages.teSessionSsn.ssnDateDebut"/> </ui:include> </f:facet> <h:outputText value="#{stage.ssnDateDebut}"/> </h:column> <h:column> <f:facet name="header"> <ui:include src="layout/sort.xhtml"> <ui:param name="entityList" value="#{listeStagesFiltree}"/> <ui:param name="propertyLabel" value="Date de fin"/> <ui:param name="propertyPath" value="listeStages.teSessionSsn.ssnDateFin"/> </ui:include> </f:facet> <h:outputText value="#{stage.ssnDateFin}"/> </h:column> </rich:dataTable>
Mon petit doigt me dit que ce firstResult est lié à resultList parce que je n'ai aucune propriété firstResult dans mon projet.javax.el.PropertyNotFoundException: Property 'firstResult' not found on type org.domain.stamas.session.ListeStages_$$_javassist_seam_2
at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:193)
Avant j'avais essayé à partir de l'exemple jpa de JBoss Seam. Sans succès et sans réponse dans le forum Seam alors je viens voir par ici si mon probème, qui me semble basique, inspire plus de monde.
Soyez indulgents et pédagogues, j'ai fait très peu de java dans ma vie ; je découvre les planètes JSF, Hibernate, Seam depuis peu et ce n'est vraiment pas évident à comprendre !
Partager