Hibernate - Join em Subqueries

Olá !

Seguinte, estou fazendo uma consulta via criteria que utiliza subquery, porém algo estranho acontece. Quando executo o código, o hibernate simplismente consome com a linha do inner join.

O código que ele gera é o seguinte:

select
    <campos>
from
    public.cb_artigo this_ 
where
    this_.art_cod in (
        select
            this0__.art_cod as y0_ 
        from
            public.cb_artigo_tag this0__ 
        where
            cbtag1_.tag_nome=?
    )

Como pode ser visto, no where do subselect é feito: cbtag1_.tag_nome = ?, só que o cbtag1_ deveria ter sido declarado no Join, por exemplo: … inner join public.cb_tag cbtag1_ , mas como o hibernate sumui com o join ele não aparece, daí dá erro na query.

Se eu pego o mesmo código (java) deste subselect e não o utilizar como subselect e sim como um select normal, o hibernate coloca o join lá bonitinho…

Alguém já passou por isso ? Tem como arrumar isso ?