Class<T> - Como descobrir a classe de T em execução

Olá Galera,

estou com uma dúvida básica de reflexão…

Quero fazer o seguinte:

AbstractCtrl<T> que será especializado conforme seu tipo. Dentro desse AbstractCtrl<T> terá instanciado um GenericDao<T>.
Porém para funcionar perfeitamente eu preciso saber qual a Classe desse T quando preciso listar no hibernate.
Apenas para refrescar, o hibernate utiliza o seguinte:

sessaoHibernate.createCriteria(classe de T).list();

Alguém tem uma idéia de como posso fazer isso?

Obrigado.

Não entendo de Hibernate, mas para saber qual class você está utilizando você pode utilizar:

T.class - retorna um class

ou

T.class.getName() - retorna uma Strings

Veja qual o ideal para a situação que você quer e boa sorte.

[quote=evandro.santos]Não entendo de Hibernate, mas para saber qual class você está utilizando você pode utilizar:

T.class - retorna um class

ou

T.class.getName() - retorna uma Strings

Veja qual o ideal para a situação que você quer e boa sorte.[/quote]

Olá.

Essa foi a primeira solução testada por mim, mas não é possível.
Apresenta o seguinte erro:

[quote]Exception in thread “main” java.lang.Error: Unresolved compilation problem:
Illegal class literal for the type parameter T[/quote]

Através de pesquisas na internet cheguei ao seguinte código:

[code]public class GenericDAO {

protected Class<T> classe;

public GenericDAO(){
	ParameterizedType paramType = (ParameterizedType) (getClass().getGenericInterfaces()[0]);
	this.classe = (Class<T>) (paramType.getActualTypeArguments()[0].getClass());
}

}[/code]

Mas a classe retornada é sempre a mesma:

Obrigado.

[code]public class GenericDAO<T> {

protected Class&lt;T&gt; classe;

public GenericDAO(){
	ParameterizedType paramType = (ParameterizedType) (getClass().getGenericInterfaces()[0]);
	this.classe = (Class&lt;T&gt;) (paramType.getActualTypeArguments()[0].getClass());
}

}[/code]

Para funcinar um ParameterizedType vc tera que criar um classe que estende dessa classe…

public class EmpresaDAO extends GenericAbstractDAO&lt;Empresa&gt;

Assim vai funcionar…

Se conseguir de outro jeito me fala…