bonjour, j'ai un soucis avec l'utilisation de l'API Criteria et j'ignore d'où provient le problème.
en fait, j'esaie de récupérer des informations dans ma base de donné à l'aide d'un dao générique. la méthode que j'utilise est la suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
public List<T> getByCondition(String condition, Object vCondition){
        List<T> result=null;
            Criteria crit= getSession().createCriteria(getEntityClass())
                                       .add(Restrictions.like(condition, vCondition));
            result= crit.list();
        return result;
    }
j'appel cette méthode dans un managedBean via un EJB ainsi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public List<SelectItem> getListCCByType(){
       System.out.println("welcome in ajax");
       //récupération du type de la catégorie depuis le bean managé CategorieC
      List<CategorieComptable>  lc= new ArrayList<CategorieComptable>();
      final String colone= "type";
       final String type= "vente";
       dao.setEntityClass(CategorieComptable.class);
       lc=dao.getByCondition(colone, type);
            for(CategorieComptable cc: lc){
                listCCByType.add(new SelectItem(cc.getCategorie(), cc.getCategorie().toUpperCase()));
            }
 
       return listCCByType;
    }
j'ai déjà utiliser plusieurs fois cet API dans divers cas et c'est la même erreur qui revient à chaque fois à quelque exceptions près:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Enum
il s'agit toujours d'un problème de conversion d'un type en un autre. Quelqu'un aurait-il déjà rencontré un problème semblable? j'attends patiemment vos intervention et merci déjà