Existe oum jeito de não retorna uma Collection do tipo PersistentSet através do Hibernate

7 respostas
P

Galera,
Estou utilizando o hibernate 3, tenho a classe A que possui um relacionamento 1:N com a classe B.
Na classe A tenho uma collection do tipo “Set” que será dos objetos do tipo B que referenciam A.
Quando executo A.getB(), o hibernate retorna uma collection do tipo org.hibernate.collection.PersistentSet.

Pergunta
Existe um maneira do Hibernate retorna um outro tipo de Collection, por exemplo um ArrayList(), algo que não implemente org.hibernate.collection.PersistentSet ???

Obs: Ja desabilitei o Lazy-Loading. (<class name=“Historico” lazy=“false”> )

Valeu !!!

7 Respostas

P

E ai Galera,
Ninguém ???

rodrigo_gomes

Olá,

porque razão vc quer que o hibernate retorne algo diferente de PersistentSet?
Faça com que seu programa utilize apenas as interfaces das coleções (Set, List, etc) e vc não vai precisar saber que tipo de coleção o hibernate está retornando (e nem deveria se preocupar com isso)

[]´s

P

Então Rodrigo,
O que acontece é o seguinte, estou utilizando o GWT - Google Web ToolKit, para fazer com que objetos passem do lado client-side para o server-side, as classes devem implementar uma interface IsSerializable (do GWT), quando retorno um objeto que é composto de uma collection de outros objetos, o hibernate me retorna essa collection sendo do tipo PersistentSet, quando tento passar esse objeto com essa collection para o lado do cliente, o problema acontece, da pau pq PersistentSet não é serializada pelo GWT.
Se eu crio uma collection que implemente Set, não consigo atribuir essa a coleção com a coleção vinda do Hibernate, pois os tipos não vão ser compativeis (minhaCollectionSet c = PersistentSet).
Por esse motivo gostaria que o Hibernate me retornasse algo que fosse diferente de PersistentSet, um ArrayList por exemplo, pensei que se desabilitasse o Lazy isso iria acontecer, mas pelo visto não aconteceu.

Entendeu ?

Matheus_Tardivo

Não uso o GWT, mas acho que isso pode te ajudar:
http://hibernate4gwt.sourceforge.net/hibernate_gwt_type_issue.html
http://hibernate4gwt.sourceforge.net/index.html

adrian.gois

Conseguiu Resolver? Estou passando pela mesma situação e gostaria de ter essa solução tbm…

P

Não consegui resolver, tive que retirar o hibernate do Projeto.

adrian.gois

Achei um link interessante que dá algumas sugestões de como contornar essa bosta. Pior que no meu trabalho usa GWT e tenho que me virar nos trinta pra resolver isso. Dá um saque tambem. Vou olhar e te falo qualquer coisa.

http://code.google.com/intl/pt-BR/webtoolkit/articles/using_gwt_with_hibernate.html

Criado 13 de setembro de 2007
Ultima resposta 27 de out. de 2009
Respostas 7
Participantes 4