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.
o @OrderBy da JPA funciona com List.
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
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));
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