référence à un objet générique
Bonjour,
je code actuellement des DAO . Il y en a un bon paquets et j'essaie de réduire le nombre de code en utilisant des "generic".
Pour l'instant, j'ai les déclarations de ce style:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
public class ActionDaoImpl implementsActionIntDao,Serializable,GenericIntDao<Action> {
@Override
public ArrayList<Action> findAll() {
String sql = "SELECT * FROM action";
return (ArrayList<Action>) jdbcTemplate.queryForList(sql, new Object[] {}, Action.class);
}
} |
Que je souhaiterais remplacer par quelque chose du style
Code:
1 2 3
| public class DaoImpl<T> implements Serializable,GenericIntDao<T> {
} |
J'ai deux problèmes:
1) la méthode "findAll" (et d'autres) contient une référence à la classe "Action".
Code:
jdbcTemplate.queryForList(sql, new Object[] {}, Action.class)
je n'arrive pas à substituer Action.class par une référence à la classe générique <T>
2) les requêtes SQL contiennent le nom de la table qui est le même qu'une pojo, ici, classe "Action" et table action.
Est-il possible d'extraire ce nom sous forme de String de la classe générique <T>?
merci d'avance.