bonjour,
je travaille avec struts et hibernate,et j'ai un probleme assez bizard
j'ai 2 tables:ObjIndiv et Phase qui ont une association many to one.
dans ma jsp j'ai 2 listes deroulante,l'une pour ObjIndiv et l'autre pour Phase,et lorsque je selectionne un objIndiv,il faut que la liste phase se met à jour,pour cela je recupère l'id(codeObjIndiv) de la valeur selectionnée via ajax et je le retourne comme paramètre dans une methode qui me cherche les phases,mais ça me retourne une liste vide.
voici la table Phase:phase.hbm.xml
la classe phase:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <hibernate-mapping> <class name="data.Phase" table="PHASE" schema="BASE"> <id name="idphase" type="java.lang.Long"> <column name="IDPHASE" precision="22" scale="0" /> <generator class="increment"></generator> </id> <many-to-one name="objIndiv" class="data.ObjIndiv" fetch="select"> <column name="CODE_OBJ_INDIV" length="20" not-null="true" /> </many-to-one> .............
la methode qui retourne les phases:
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 public class Phase extends AbstractPhase implements java.io.Serializable { // Constructors /** default constructor */ public Phase() { } /** minimal constructor */ public Phase(ObjIndiv objIndiv, Long numphase) { super(objIndiv, numphase); } /** full constructor */ public Phase(ObjIndiv objIndiv, String libellePhase, Date dateDeb, Date dateFin, String duree, Long numphase, Set necessiters) { super(objIndiv, libellePhase, dateDeb, dateFin, duree, numphase, necessiters); }
le probleme c'est quand je rentre le code manuellement,genre:
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 static List getPhase(String code){ Session session = HibernateSessionFactory.getSession(); List list = null; try{ Query query=session.createQuery(" from Phase where objIndiv= '"+code+"'"); list =query.list(); }catch(Exception ex){ ex.printStackTrace(); } return list; }
ça fonctionne parfaitement,ce probleme me rend vraiment dingue
Code : Sélectionner tout - Visualiser dans une fenêtre à part Query query=session.createQuery(" from Phase where objIndiv= 'oo'");
merci de bien vouloir m'aider
Partager