[RESOLVIDO] Converter Proxy gerado pelo Restfulie para a classe original

4 respostas
R

Depois que o objeto é deserialzado pelo Restfulie ele vira um proxy da classe original.
Ex: Tinha uma classe chamado br.com.cauirs.entidades.Vendedor e agora ele passou a se chamar br.com.caelum.restfulie.Vendedor_1324606918387@5159f99c

Esse proxy tem as mesmas funcionalidades da classe original, porém se eu passo ele para o meu DaoGenérico salvar, por ser uma entidade diferente ele não encontra o mapeamento da @Entity.

E dá o seguinte erro:

Caused by: org.hibernate.MappingException: Unknown entity: br.com.caelum.restfulie.Vendedor_1324607094022

Existe alguma maneira desse proxy voltar a se comportar como a classe original?

4 Respostas

R

Resolvido.

Código:

classe = classe original
t = novo objeto da classe original
alterado = objeto proxy restfulie

T t = new Mirror().on(classe).invoke().constructor().withoutArgs(); List<Field> fields = new Mirror().on(classe).reflectAll().fields(); for(Field f : fields) { new Mirror().on(t).set().field(f.getName()).withValue( new Mirror().on(alterado).get().field(f.getName()) ); }

Lucas_Cavalcanti

era essa a solução que eu ia te dar :wink:

de qqer forma, abre uma issue lá no restfulie por favor, pra deixar isso mais fácil:

vasilvei

No caso se eu estou recebendo uma lista:

List<Grupo> grupo = response.getResource();

eu devo tratar posição por posição da minha lista dessa forma?

Lucas_Cavalcanti

se vc precisa disso, sim.

Criado 22 de dezembro de 2011
Ultima resposta 27 de ago. de 2012
Respostas 4
Participantes 3