Problema com JPQL

Olá pessoal, tudo bem?
Observem a query abaixo:

SELECT
	atendimento.DATA_COLETA,
	atendimento.NUM_ORDEM,

	receptor.NOME_RECEPTOR,
	receptor.NOME_HOSPITAL,
	receptor.NUM_DOACAO as NUM_DOACAO_RECEPTOR,
	receptor.TIPO_HEMO,
	receptor.TIPO_SANGUINEO,
	receptor.RH,
	receptor.VOLUME,

	doador.NUM_DOACAO as NUM_DOACAO_DOADOR
		
	FROM agets.atendimento atendimento
LEFT OUTER JOIN 
	agets.receptor receptor on receptor.ID_RECEPTOR = atendimento.ID_ATENDIMENTO
RIGHT OUTER JOIN
	agets.doador doador on doador.ID_DOADOR = atendimento.ID_ATENDIMENTO;

O objetivo é transformá-la em JPQL de modo a listar com base no relacionamento já existente na classe Atendimento:

[code] @ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.LAZY)
@JoinTable(name = “doador_atendimento”, joinColumns = { @JoinColumn(name = “ID_ATENDIMENTO”) }, inverseJoinColumns = { @JoinColumn(name = “ID_DOADOR”) })
private List<Doador> doadores = new ArrayList<Doador>();

@ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.LAZY)
@JoinTable(name = "receptor_atendimento", joinColumns = { @JoinColumn(name = "ID_ATENDIMENTO") }, inverseJoinColumns = { @JoinColumn(name = "ID_RECEPTOR") })
private List&lt;Receptor&gt; receptores = new ArrayList&lt;Receptor&gt;();

[/code]

Consegui fazer isso, sem sucesso. Exibiu 1 registro apenas, onde deveriam existir 2, como se ignorasse parte do relacionamento:

"select a from Atendimento a" + " left outer join fetch a.receptores receptores" + " right outer join a.doadores doadores" + " where a.id = receptores.id and a.id = doadores.id"

A idéia é que onde possam existir pontos onde os relacionamentos se unem possa listar sem que os dados possam se repetir, como um distinct, porém algo mais “interno” do que isso.
Agradeço a todos que se disponibilizarem.