Problema com HQL - HIBERNATE 4

Pessoal estou em uma dúvida tremenda aqui.
Exemplo: Noticia(1)—(n)Imagem(1)—(n)TipoImagem
Daí tenho o seguinte HQL


session.createQuery("select n from Noticia as n inner join n.imagem inner join n.imagem.tipoimagem order by n.codigo desc")

No meu entendimento, implicitamente o hibernate vai fazer apenas um select, mas quando olho no catalina.out aparece vários select relacionado a essa consulta ai, pq ele faz esse vários selects ?

Hibernate: 
    select
        noticia0_.codigo as codigo5_,
        noticia0_.codigo_tiponoticia as codigo2_5_,
        noticia0_.corpo as corpo5_,
        noticia0_.cpf_usr as cpf4_5_,
        noticia0_.data as data5_,
        noticia0_.destacada as destacada5_,
        noticia0_.fonte as fonte5_,
        noticia0_.codigo_imagem as codigo11_5_,
        noticia0_.publicada as publicada5_,
        noticia0_.resumo as resumo5_,
        noticia0_.titulo as titulo5_ 
    from
        site.noticia noticia0_ 
    inner join
        public.imagem imagem1_ 
            on noticia0_.codigo_imagem=imagem1_.codigo 
    inner join
        public.imagem imagem2_ 
            on noticia0_.codigo_imagem=imagem2_.codigo 
    inner join
        public.tipoimagem tipoimagem3_ 
            on imagem2_.codigo_tipoimagem=tipoimagem3_.codigo 
    order by
        noticia0_.codigo desc limit ?

Hibernate: 
    select
        imagem0_.codigo as codigo2_1_,
        imagem0_.altura as altura2_1_,
        imagem0_.cpf_usr as cpf3_2_1_,
        imagem0_.fotografo as fotografo2_1_,
        imagem0_.largura as largura2_1_,
        imagem0_.nome as nome2_1_,
        imagem0_.possui_original as possui7_2_1_,
        imagem0_.codigo_tipoimagem as codigo9_2_1_,
        imagem0_.titulo as titulo2_1_,
        tipoimagem1_.codigo as codigo6_0_,
        tipoimagem1_.cpf_usr as cpf2_6_0_,
        tipoimagem1_.descricao as descricao6_0_,
        tipoimagem1_.diretorio as diretorio6_0_,
        tipoimagem1_.publico as publico6_0_ 
    from
        public.imagem imagem0_ 
    left outer join
        public.tipoimagem tipoimagem1_ 
            on imagem0_.codigo_tipoimagem=tipoimagem1_.codigo 
    where
        imagem0_.codigo=?
Hibernate: 
    select
        imagem0_.codigo as codigo2_1_,
        imagem0_.altura as altura2_1_,
        imagem0_.cpf_usr as cpf3_2_1_,
        imagem0_.fotografo as fotografo2_1_,
        imagem0_.largura as largura2_1_,
        imagem0_.nome as nome2_1_,
        imagem0_.possui_original as possui7_2_1_,
        imagem0_.codigo_tipoimagem as codigo9_2_1_,
        imagem0_.titulo as titulo2_1_,
        tipoimagem1_.codigo as codigo6_0_,
        tipoimagem1_.cpf_usr as cpf2_6_0_,
        tipoimagem1_.descricao as descricao6_0_,
        tipoimagem1_.diretorio as diretorio6_0_,
        tipoimagem1_.publico as publico6_0_ 
    from
        public.imagem imagem0_ 
    left outer join
        public.tipoimagem tipoimagem1_ 
            on imagem0_.codigo_tipoimagem=tipoimagem1_.codigo 
    where
        imagem0_.codigo=?
Hibernate: 
    select
        imagem0_.codigo as codigo2_1_,
        imagem0_.altura as altura2_1_,
        imagem0_.cpf_usr as cpf3_2_1_,
        imagem0_.fotografo as fotografo2_1_,
        imagem0_.largura as largura2_1_,
        imagem0_.nome as nome2_1_,
        imagem0_.possui_original as possui7_2_1_,
        imagem0_.codigo_tipoimagem as codigo9_2_1_,
        imagem0_.titulo as titulo2_1_,
        tipoimagem1_.codigo as codigo6_0_,
        tipoimagem1_.cpf_usr as cpf2_6_0_,
        tipoimagem1_.descricao as descricao6_0_,
        tipoimagem1_.diretorio as diretorio6_0_,
        tipoimagem1_.publico as publico6_0_ 
    from
        public.imagem imagem0_ 
    left outer join
        public.tipoimagem tipoimagem1_ 
            on imagem0_.codigo_tipoimagem=tipoimagem1_.codigo 
    where
        imagem0_.codigo=?
Hibernate: 
    select
        imagem0_.codigo as codigo2_1_,
        imagem0_.altura as altura2_1_,
        imagem0_.cpf_usr as cpf3_2_1_,
        imagem0_.fotografo as fotografo2_1_,
        imagem0_.largura as largura2_1_,
        imagem0_.nome as nome2_1_,
        imagem0_.possui_original as possui7_2_1_,
        imagem0_.codigo_tipoimagem as codigo9_2_1_,
        imagem0_.titulo as titulo2_1_,
        tipoimagem1_.codigo as codigo6_0_,
        tipoimagem1_.cpf_usr as cpf2_6_0_,
        tipoimagem1_.descricao as descricao6_0_,
        tipoimagem1_.diretorio as diretorio6_0_,
        tipoimagem1_.publico as publico6_0_ 
    from
        public.imagem imagem0_ 
    left outer join
        public.tipoimagem tipoimagem1_ 
            on imagem0_.codigo_tipoimagem=tipoimagem1_.codigo 
    where
        imagem0_.codigo=?
Hibernate: 
    select
        imagem0_.codigo as codigo2_1_,
        imagem0_.altura as altura2_1_,
        imagem0_.cpf_usr as cpf3_2_1_,
        imagem0_.fotografo as fotografo2_1_,
        imagem0_.largura as largura2_1_,
        imagem0_.nome as nome2_1_,
        imagem0_.possui_original as possui7_2_1_,
        imagem0_.codigo_tipoimagem as codigo9_2_1_,
        imagem0_.titulo as titulo2_1_,
        tipoimagem1_.codigo as codigo6_0_,
        tipoimagem1_.cpf_usr as cpf2_6_0_,
        tipoimagem1_.descricao as descricao6_0_,
        tipoimagem1_.diretorio as diretorio6_0_,
        tipoimagem1_.publico as publico6_0_ 
    from
        public.imagem imagem0_ 
    left outer join
        public.tipoimagem tipoimagem1_ 
            on imagem0_.codigo_tipoimagem=tipoimagem1_.codigo 
    where
        imagem0_.codigo=?

Por que não utiliza a tag [code] para colocar código?

Esquecir, mas vcs conseguiram entender meu minha dúvida ?

Esquecir, mas vcs conseguiram entender meu minha dúvida ?[/quote]

A maioria, assim como eu, não lê tópicos sem formatação.
Edite a postagem e corrija-a.

[quote=drsmachado]A maioria, assim como eu, não lê tópicos sem formatação.
Edite a postagem e corrija-a.[/quote]

idem.

Olha a \\Solução

http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/performance.html#performance-fetching

tente INNER JOIN FETCH