Olá, venho mais uma vez pedir um auxilio aos Srs. dessa vez para esclarecer uma duvida sobre um simples relacionamento OneToMany, imagine uma classe Funcionario que tem varios telefones, vamos colocar numeros como segue abaixo:
Cada funcionario tem 20 telefones, e eu preciso fazer uma pesquisa que retorne somente os funcionarios que tenham o telefone que contenham o numero 1111, bom em sql ficaria algo assim:
select
func.nome,
func.idade,
tel.numero
FROM funcionario func
inner join telefone tel on (tel.idFuncionario = func.idFuncionario)
where tel.numero like ‘%1111%’
pois bem, mesmo eu executando uma hql semelhante o que acontece é o seguinte, ele me traz corretamente os dados que preciso, mas quando vou executar o return devido ao relacionamento @oneToMany ele executa uma outra sql DEPOIS dessa e traz todos os telefones dos repectivos funcionarios retornando o funcionario correto mas com todos os telefones. o retorno correto seria:
funcionario01
Lista de telefones que atendem a query
— tel1
— tel2
— tel3
funcionario02
— tel1
— tel2
— tel3
Alguma sugestão do que fazer ? Ja tentei botar como fatch eager, lazy, etc… estava pensando retirar o relacionamento e torna-lo unidirecional e fazer uma list transient e fazer na mão… o que acha ?
Bom esse funcionamento é correto do hibernate mas preciso retornar apenas os funcionarios que tenham o numero do telefone com ja explicado com os telefones que eu pedi