Persistir um T data

Estou com um problema para persistir um atributo de tipo T.

Explico: o tipo de T é passado como parâmetro ao instanciar uma classe, ele pode ser de vários tipos.

Esses tipos são classes já mapeadas no projeto.

Exemplo:

Classe a = new Classe();

no caso eu colocaria:

Classe a = new Classe();

Como eu poderia mapear ou fazer para persistir o tipo T desta classe?!

num seria:

Class a = new Class();

se for pode usar do jeito q vc postou q funfa normalmente…

Pra fazer a persistência, voce deve passar a classe como parâmetro, pois o compilador apaga essas informações de qual classe foi especificada quando vai gerar os bitecodes (alguma coisa por aí)
daí voce chamaria mais ou menos assim:

DAO<Cliente> clienteDAO = new DAO<Cliente>
clienteDAO.salvar(Cliente.class, cli);

fazer um método que tenha algo do tipo salvar(T.class, obj); não funciona …

[quote]Pra fazer a persistência, voce deve passar a classe como parâmetro, pois o compilador apaga essas informações de qual classe foi especificada quando vai gerar os bitecodes.
[/quote]

sempre achei uma redundância apesar de entender os porques disso!

DAO&lt;Cliente&gt; dao = new DAO&lt;Cliente&gt;(); dao.salvar(Cliente.class, obj);

isso seria bem mais interessante:

DAO&lt;Cliente&gt; dao = new DAO&lt;Cliente&gt;(); dao.salvar(obj);

amigo esse tipo de caminho é só pra ajudar a nós desenvolvedores…mas nada impede q vc faça td na mão msm:

insert into fornecedores values (7,‘Fornecedor 7’,‘Contato 7’,‘231-4444’);

Perdão… acredito que vocês não entenderam o problema.

Dentro dessa Classe há um atributo do tipo T, e eu tenho que mapear esse atributo para realizar a persistencia.

Compreenderam o problema?!

Pelo q eu saiba esse T é pq vc usa o HibernateDAO generico, ou seja, qdo vc chama no seu metodo a classe Pessoa.java ele substitui o T pelo Pessoa.java veja como está minha classe hibernate

public class HibernateDAO<T> implements InterfaceDAO<T> {

	private Class<T> classe;
	protected Session session;
}

e na classe chamaria assim:

InterfaceDAO<Aluno> alunoDAO = new HibernateDAO<Aluno>(Aluno.class, FacesContextUtil.getRequestSession());

Não, esse T é das minhas classes do projeto, estou mapeando meu projeto utilizando um orm.xml

Nem comecei a criar um DAO ainda, apenas estou fazendo o mapeamento e alguns testes basicos.