Passer un type de classe en paramètre
Bonjour,
Voici la méthode suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
@SuppressWarnings("unchecked")
public List<IBase> readAll() throws Exception {
Session session = HibernateUtil.getNewSession();
List<IBase> result = new ArrayList<IBase>();
Criteria criteria = Criteria criteria = session.createCriteria(BaseOrganisme.class);
List<IBase> list = criteria.list();
if (list.size() > 0) {
Iterator<IBase> it = list.iterator();
while (it.hasNext()) {
result.add(it.next());
}
}
return result;
} |
J'ai besoin de la rendre factorisable pour qu'elle puisse être appelée par des classes de types différents, donc je fait cela :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
@SuppressWarnings("unchecked")
public List<IBase> readAll(String nomClasse) throws Exception {
Session session = HibernateUtil.getNewSession();
List<IBase> result = new ArrayList<IBase>();
Criteria criteria = session.createCriteria(Class.forName(nomClasse));
List<IBase> list = criteria.list();
if (list.size() > 0) {
Iterator<IBase> it = list.iterator();
while (it.hasNext()) {
result.add(it.next());
}
}
return result;
} |
... mais ce code renvoi l'erreur suivante :
Code:
1 2 3
|
java.lang.ClassNotFoundException: BaseOrganisme
... |
Comment passer le type de la classe en paramètre comme BaseOrganisme.class ?
Merci.
A+ ;)