Erreur "entity for parameter binding cannot be null"
Bonjour,
l'ereur qu'eclipse a donné est:
Citation:
20 mai 2012 10:43:41 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: "Servlet.service()" pour la servlet Faces Servlet a généré une exception
java.lang.IllegalArgumentException: entity for parameter binding cannot be null
at org.hibernate.internal.AbstractQueryImpl.resolveEntityName(AbstractQueryImpl.java:587)
at org.hibernate.internal.AbstractQueryImpl.setEntity(AbstractQueryImpl.java:645)
at com.PhaseHome.findByMission(PhaseHome.java:135)
at beans.MissionBean.getPhases(MissionBean.java:57)
at beans.MissionBean.<init>(MissionBean.java:42)
le code de manager.jsp:
Code:
1 2 3 4 5 6 7 8
| <h:outputLabel value="Missions:"></h:outputLabel><br>
<h:selectOneMenu value="#{missionBean.description}" onchange="submit()" valueChangeListener="#{missionBean.changeMission}" immediate="true" >
<f:selectItems value="#{missionBean.missions}"/>
</h:selectOneMenu>
<h:outputLabel value="Phases:"></h:outputLabel><br>
<h:selectOneMenu value="#{missionBean.numero}" >
<f:selectItems value="#{missionBean.phases}"/>
</h:selectOneMenu> |
ici il s'agit de 2 selectItems :un select des missions missionBean.missions et un select des phases a partir d'une mission
voici les lignes d'erreur:
dans PhaseHome.java:
Citation:
Query query = session.createQuery("from Phase p where p.mission= :miss");
query.setEntity("miss", m);
dans MissionBean.java:
Code:
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
| private Mission m=null;
public List<SelectItem> getPhases(){
List<SelectItem> SI=new ArrayList<SelectItem>();
List<Phase> l=new ArrayList<Phase>();
PhaseHome ph= new PhaseHome();
l=ph.findByMission(m);
for(int i=0;i<l.size();i++)
{
SI.add(new SelectItem(l.get(i).getNumPhase()));
}
return SI;
}
//la methode changeMission :
public void changeMission(ValueChangeEvent e){
MissionHome mh=new MissionHome();
String desc=e.getNewValue().toString();
m= mh.findByDescription(desc) ;
} |
le probleme c'est dans la récupération de la mission m selectionnée dans le premier selectOneMenu afin de selectionner les phases de cette mission dans le deuxieme selectOneMenu puisque la mission m est une clé etrangère dans la table phase.
svp aidez-moi dans ce probleme.
Merci.