[Hibernate] Quando uso Order by, perco campos que estão null!

2 respostas
N

Olá pessoal,

Estou com o seguinte problema:

Tenho 2 tabelas: AREA e USUARIO.
Quando listo todas areas com um [color=red]order by area.responsavel.nome[/color], o hibernate automaticamente incluir um:

o que automaticamente exclui todas as areas que não possuem responsável.

Isso seria facilmente contornado fazendo um outro list sem ordenação dos valores em que id_responsavel de area fosse nulo, porém, estou usando ValueList, ou seja, perderia minha paginação, e mesmo se fosse fazer na mao, teria que fazer no sistema inteiro.

Existe alguma possibilidade de eu listar essas Areas com ordenação sem excluir as linhas em que id_responsavel = null?

Espero ter sido claro…
Obrigado

2 Respostas

T

Não conheço o Hibernate, mas dá a impressão que você precisa explicitar os “left outer joins” para que tal coisa funcione.

http://www.hibernate.org/hib_docs/v3/reference/en/html/queryhql.html#queryhql-select

N

O problema é que o hibernate faz um subselect com tabela USUARIO quando eu coloco um ORDER BY area.responsavel.nome (igualando area.responsavel.nome com usuario.nome)

Esse subselect faz com que os area.responsavel.nome que estão nulos não apareçam na listagem.

Existem alguma propriedade da coluna (xdoclet) que posso usar para forçar o uso do OUTER JOIN ?

Criado 11 de setembro de 2007
Ultima resposta 12 de set. de 2007
Respostas 2
Participantes 2