Order by collection

2 respostas
B

Boa noite pessoal. estou tentando durante todo o dia uma forma de ordenar minha coleção do mapeamento xml não obtendo êxito.

<class name="TabelaA">
	<!-- Identificador -->
	<id name="id">
		<column name="id" not-null="true" />
		<generator class="native">
			<param name="sequence">tabelaA_id_sequence</param>
		</generator>
	</id>
	<!-- Demais propriedades -->
	<property name="tsInsert" not-null="true" />
	<property name="tsUpdate" not-null="true" />
	<property name="tsDelete" />
        <bag inverse="true" name="colecaoTabelaB" cascade="all-delete-orphan">
            <key column="tabelaA"/>
            <one-to-many class="TabelaB"/>
        </bag>
</class>

Eu sei que quando queremos ordenar a coleção deveria colocar um order-by=‘Campo a ser ordenado ASC/DESC’, mas nessa minha coleção eu não tenho campos, apenas objetos, então seria algo do tipo order-by=‘objeto.campo ASC/DESC’. Porém é criado um alias doidão no select. Tem como eu criar os alias das minhas classes no mapeamento, ficando assim estático? ou se tiver uma outra solução agradeço também… Vlw galera

2 Respostas

R

Em vez de usar order-by="???", uma possível saída é criar um Comparator e usar sort="???":

http://docs.jboss.org/hibernate/core/3.3/reference/en/html/collections.html#collections-mapping

B

roger_rf:
Em vez de usar order-by="???", uma possível saída é criar um Comparator e usar sort="???":

http://docs.jboss.org/hibernate/core/3.3/reference/en/html/collections.html#collections-mapping

pois é roger_rf, eu pensei nessa possibilidade, mas é que estava tentando já trazer apartir da query esses dados ordenados, evitando fazer isso na memória. Pois se for possível é bom evitar… rsrsrsrs… mas de qualquer forma muito obrigado pela dica. E se alguém tiver alguma idéia de como fazer isso por favor…

Criado 21 de dezembro de 2009
Ultima resposta 22 de dez. de 2009
Respostas 2
Participantes 2