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:
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:
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:
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à
Partager