Referenciando classes em Genericos

Pessoal,

Estava tentando fazer um DAO Genérico usando Hibernate com mais ou menos o seguinte código:

[code]public abstract class GenericDAO {

[...]

public List<E> buscarTodos() {
	List<E> result = null;
	Criteria criteria = session.createCriteria(E.class);
	
	result = criteria.list();
	return result;
}

}[/code]

O problema é que não consigo criar um objeto Classe a partir do token da Classe, impedindo a criação do Criteria. Alguem tem alguma solução que não a colocação de um parametro Class na chamada??

não tive como fzr isto tb, estão criei um construtor q recebe esta classe e passa para a super asssim:

public JPABaseDAO(final Class objectClass, final String pun) {
	this.objectClass = objectClass;
}

public T get(final PK pk) throws DAOException {
	return (T) getEntityManager().find(this.objectClass, pk);
}

mais acho uma boa vc migrar de hibernate pra JPA, assim vc não tem mais q ficar fazendo esses criterias.

Achei a solução mas esqueci de postar aqui…

clazz = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];

Mas isso só funciona se a sua classe extender o genérico. Para tratar genéricos criados dinamicamente, como normalmente fazemos com ArrayList ainda estou pesquisando.