Na aula o professor falou que esta jpql:
select distinct c from Conta c left join fetch c.movimentacoes
Faria o "distinct" mas como isso é possivel se a query resultante desta JPQL é esta:
select
distinct conta0_.id as id1_2_0_,
movimentac1_.id as id1_3_1_,
conta0_.agencia as agencia2_2_0_,
conta0_.banco as banco3_2_0_,
conta0_.numero as numero4_2_0_,
conta0_.titular as titular5_2_0_,
movimentac1_.conta_id as conta_id6_3_1_,
movimentac1_.data as data2_3_1_,
movimentac1_.descricao as descrica3_3_1_,
movimentac1_.tipo as tipo4_3_1_,
movimentac1_.valor as valor5_3_1_,
movimentac1_.conta_id as conta_id6_3_0__,
movimentac1_.id as id1_3_0__
from
Conta conta0_
left outer join
Movimentacao movimentac1_
on conta0_.id=movimentac1_.conta_id
Se reparar bem os campos retornados, vem com todos os campos! o distinct não traria somente as contas sem repetir, ai fiquei na dúvida sobre o que o professor falou, que usando o "distinct" não daria o produto cartesiano!!! como não???