Recuperando objetos com relacionamento many-to-many no hibernate

Galera, tenho duas classes com relacionamento many-to-many, grava direitinho, mas não estou conseguindo recuperar os objetos do banco. Os mapeamentos são os seguintes:

<class name="pacote.LinhaDeDiscussao" table="linhas">
        <id name="id" type="int" unsaved-value="null" >
            <column name="id_linha" sql-type="int" not-null="true"/>
            <generator class="native"/>
        </id>
//outras coisas...
<set name="discussoes" table="discussoeslinhas" inverse="true" >
            <key column="id_linha"  />
            <many-to-many column="id_discussao" class="pacote.Discussao" />
        </set>
...

e a outra classe:


<class name="pacote.Discussao" table="discussoes" >
       <id name="id" type="int" unsaved-value="null" >
            <column name="id_discussao" sql-type="int" not-null="true"/>
            <generator class="native"/>
        </id>

<list name="linhas" table="discussoeslinhas" lazy="false" >
            <key column="id_discussao" />
            <list-index column="posicao_na_discussao" />
            <many-to-many column="id_linha" class="pacote.LinhaDeDiscussao" />
        </list>

Tentei essa query:

String hql = "from LinhaDeDiscussao as linha join Discussao as discussao where discussao.paragrafo = ?";

Mas confesso que foi um negócio meio chutado (e óbvio, dá erro na query), dei uma olhada no manual, mas não estou entendendo como consultar direito para obter a lista de todas as linhas associadas a uma discussão.
Outra coisa que está me confundindo é o seguinte: as linhas já estão carregadas na memória, vai dar pau eu consultar de novo? Vai haver duplicidade de objetos (dois objetos linha com o mesmo id?)
Alguém pode me ajudar a desfazer esse nó na minha cabeça? :?
Valeu.

Tente fazer assim:


from Discussao as disc
          left join fetch disc.linhas
          where disc.paragrafo = ?

Você vai carregar todos os objetos “Discussão” e consequentemente (graças ao left join) todas as linhas relacionadas a ele.

Mais informações:

http://www.guj.com.br/java.tutorial.artigo.174.1.guj

:mrgreen:

RESOLVEU!!!
Valeu, cara, estou há dias dependendo disso para terminar uma etapa do meu trabalho…
Vou aproveitar e dar uma estudada no seu artigo.
Aquele abraço! :smiley: