[RESOLVIDO] VRaptor - Deserializar TreeSet para @Sort Hibernate

4 respostas
denilsont

Estava usando o @Sort do hibernate com o sorttype usando comparator.
Para que o mesmo funcione é necessário que a collection seja uma implementação de SortedSet (não sei se tem outra forma).
No hibernate funcionou tudo perfeitamente, mas no formulário o set não é serializado, chegando vazio.

A pergunta é: existe uma forma de fazer o vraptor serializar este tipo?

Nota: Usei a implementação TreeSet para a interface SortedSet.

4 Respostas

Lucas_Cavalcanti

o @OrderBy da JPA funciona com List.

denilsont

o problema é o que o modelo é complexo com muitas junções, por isso preferi esta abordagem.

em todo caso, usei a implementação de compable usando o collections:sort.
abri o tópico para saber se tem como eu fazer a serialização deste objeto no vraptor, para usar o @Sort

Lucas_Cavalcanti

a serialização dá pra fazer sim… o vraptor só não consegue popular esse campo, pois não suporta Sets (embora isso já tenha sido implementado, é só pra Set e não pra SortedSet, e não foi lançado ainda)…

o que vc pode fazer é receber uma List<…> e fazer um:

objeto.setAlgo(new TreeSet(aLista));
denilsont

entendi…
a serialização realmente funcionou normal, o problema foi somente ao submeter o formulário.

neste caso é melhor do jeito que está mesmo, mas fica a dica pra algum caso mais específico.

está faltando é no próprio JPA ter uma forma mais fácil de ordenação de collections, pois o @OrderBy só funciona legal se for um atributo do ítem da collaction, além de que usando ele impede o uso outras funcionalidades, como as subqueries por exemplo.

vlw

Criado 9 de janeiro de 2013
Ultima resposta 9 de jan. de 2013
Respostas 4
Participantes 2