Hibernate com fetch="join"

Pessoal, estou mudando algumas estrategias de fetch das coleções de select para join, só que existe um caso que me dá problemas, justamente o mostrado abaixo. Um modulo de noticias tem relacao Many-to-Many com perfis e o tb tem relação One-To-Many com noticias. Quando deixo o fetch=“join” e faço a consulta(ele ja faz o left-join como se fosse lazy=false), ele traz um dos modulos duplicados e quando deixo a estratégia default(select, e ai ele respeita o lazy=true) ele puxa os modulos e depois corretamente as noticias. Segue código…

			<set name="perfis" lazy="false" table="module_perfil" fetch="join">
				<key column="cod_module"/>															
				<many-to-many class="br.com.easycm.modules.perfil.Perfil" column="cod_perfil">					
				</many-to-many>
			</set>															

			
		<subclass name="br.com.easycm.modules.content.Category" discriminator-value="GNOTI">			
				<set  name="contents" lazy="true" fetch="join" inverse="true" cascade="all" order-by="cod_default_content desc">
					<key column="cod_category"/>
					<one-to-many class="br.com.easycm.modules.content.GlobalContent"/>
				</set>	
		</subclass>			

Grato,

Alberto

Caso sejá necessário posso mostrar os selects que ele gera.

Alberto