Ajuda com consulta HQL

Tou com uma bronca meia sério aqui com HQL. Vou tentar ser o mais simples.

Tenho o seguinte relacionamento:

Declaracao 1 - N Movimentos
Movimentos N - 1 Tipo de Movimento

“Tipo de Movimento” é só pra dizer se eh 1- Entrada ou 2 - Saída, ok?

O que eu quero: Todas as declaracoes com movimentações SOMENTE de ENTRADA, ou seja, com discriminador igual a 1.

A consulta parece simples:

SELECT d FROM declaracoes d
JOIN d.listaDeMovimentos m
where m.tipoMovimento.discriminador = 1

O que ocorre na verdade nessa consulta?
Nesta consulta tou tentando fazer exatamente oq quero, mas nao tou conseguindo. Imaginem que uma DECLARAÇÃO tem 2 MOVIMENTAÇÕES, 1 sendo de ENTRADA e outra sendo de SAÍDA.

Pela minha consulta… eu espero sempre que, quando eu recuperar do banco essa declaração, ela venha somente com a MOVIMENTACAO de entrada, pois foi oq pedi pelo discriminador no “where”. Mas oq acontece de fato, eh q a declaração vem sempre COMPLETA, ou seja, com as 2 movimentações amarradas à ela. O mesmo acontece se eu colocar o valor “2” no where… a declaração não vem somente com a movimentação de SAÍDA.

Conclusão: Por essa consulta, não consigo ter declarações com sua lista de movimentações somente de ENTRADA ou SAIDA. E não consigo criar outra HQL pra isso q quero.

Ja me sugeriram fazer com NATIVE mesmo. Ou com HQL mesmo… só q descrevendo campo a campo. Mas quero insistir achando que existe um jeito de fazer essa consultar de forma mais compacta, simples.

Fato: Minha consulta HQL está errada e nao sei criar a que me satisfaz… hehehe

Bom… nao sei se consegui ser claro galera. Mas o desespero ja eh grande… por isso tou partindo pra explicar algo meio complexo de redigir. Mas enfim…

Se alguem entender e souber … agradeço bastante!

Abraços!