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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.