Left join no hibernate

2 respostas
B

Pessoal,

Tenho uma classe Cliente e nesta um list da classe Historico… Estou tentando fazer um left join com hibernate para retornar os clientes, mesmo que nao tenha nenhum historico. Segue:

from Cliente as cliente left join cliente.historico as historico

e tambem tenho no WHERE o seguinte:

where historico.empresa = ?

(a classe historico tem a propriedade empresa que eh outra classe)

Dessa forma, o hibernate nao retorna nunca nenhum registro… Uma foma seria colocar o filtro da empresa dentro do ON do left join, porem, pelo que vi nao é possivel.

alguem tem alguma sugestao ??

Obrigado…

2 Respostas

V

bobsiqueira

Como fez o mapeamento? Declarou que Histórico tem ligação com Cliente?

Class Historico

@ManyToOne

@JoinColumn(name = nome_campo_tabela_da_base)

private Cliente cliente;

Cliente

@OneToMany(mappedBy = “cliente”, targetEntity = Cliente.class, fetch = FetchType.LAZY)
private List historicos;

Nesse modelo que fiz, consigo discriminar na consulta se quero que a consulta seja EAGER or LAZY.

Mas posta ai ou me manda por email que te dou uma força, não sou perito no assunto mas podemos juntos achar a solução.
[email removido]

Sds

L

“Ajudando o próximo”

esse link me ajudou a resolver uma questão identica a essa

http://www.jumpingbean.co.za/blogs/mark/hibernate_hql_inner_join_on_clause

Criado 19 de janeiro de 2008
Ultima resposta 28 de jul. de 2009
Respostas 2
Participantes 3