Existe oum jeito de não retorna uma Collection do tipo PersistentSet através do Hibernate
7 respostas
P
pelegrini
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”> )
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
pelegrini
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.
Conseguiu Resolver? Estou passando pela mesma situação e gostaria de ter essa solução tbm…
P
pelegrini
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.