Inner join fetch traz resultado repetido

Pessoal, alguem pode me dar uma luz?

Estou fazendo a seguinte consulta:

SELECT cd FROM CobrancaDocumento cd INNER JOIN FETCH cd.cobrancaDocumentoItems items WHERE cd.id in ( :col)

E o mapeamento de CobrancaDocumento, ta assim:

  ...
 <set
        name="cobrancaDocumentoItems"
        lazy="true"
        inverse="true"
	cascade="all"
    >
    
        <key>
            <column name="cbdo_id" />
        </key>

        <one-to-many 
            class="gcom.cobranca.CobrancaDocumentoItem"
        />
    </set>
  ...

Eu achava que esta consulta deveria retornar um ou dois objetos CobrancaDocumento (dependendo da quantidade de ids que eu passo por parametro) com o set de CobrancaDocumentoItem preenchido.
No entanto ele ta me retornando o varios objetos CobrancaDocumento repetidos (ele repete o CobrancaDocumento para cada CobrancaDocumentoItem)!
Preciso que ele me retorne so e somente so cada cobrancaDocumento, sem repeteco… Ja tentei usar o distinct, mas nao rola, por ter varios CobrancaDocumentoItens para cada CobrancaDocumento…
Alguem tem alguma sugestão?