Pessoal me ajudem por favor, Tenho o seguinte código: session = factory.openSession();
tx = session.beginTransaction();
Query q = session.createQuery(
"from TituloWeb as titulo " +
"left outer join fetch titulo.parcelas " +
"where titulo.numeTituWeb = :numeTituWeb ");
q.setParameter("numeTituWeb", numeTitu);
titulo = (TituloWeb)q.list().get(0);
e meu mapping é o seguinte [code]<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="com.simplestec.mercantil.dados.titulos.TituloWeb" table="Titulos_Web">
<id name="numeTituWeb" column="Nume_Titu_Web" type="string">
<generator class="assigned"/>
</id>
<bag name="parcelas" lazy="true" cascade="all" inverse="true" outer-join="true">
<key column="Nume_Titu_Web"/>
<one-to-many class="com.simplestec.mercantil.dados.titulos.parcelas.Parcela"/>
</bag>
<property name="codiInst" column="Codi_Inst" type="string"/>
<property name="codiCont" column="codi_Cont" type="string"/>
<property name="codiImov" column="codi_Imov" type="string"/>
<property name="codiPess" column="codi_Pess" type="string"/>
<property name="periRefe" column="peri_Refe" type="string"/>
<property name="codiTipo" column="codi_Tipo" type="string"/>
<property name="valoImpo" column="valo_Impo" type="double"/>
<property name="valoMult" column="valo_Mult" type="double"/>
<property name="valoJuro" column="valo_Juro" type="double"/>
<property name="valoCorr" column="valo_Corr" type="double"/>
<property name="valoTota" column="valo_Tota" type="double"/>
<property name="numeDocu" column="nume_Docu" type="string"/>
<property name="codiSitu" column="codi_Situ" type="string"/>
<property name="matrUsua" column="matr_Usua" type="string"/>
<property name="flagTitu" column="flag_Titu" type="string"/>
</class>
<class name="com.simplestec.mercantil.dados.titulos.ProximoTituloWeb" table="Proximo_Titulo_Web">
<id name="proxTitu" column="Prox_Titu" type="string">
<generator class="assigned"/>
</id>
</class>
<class name="com.simplestec.mercantil.dados.titulos.parcelas.Parcela" table="Parcelas_Web">
<composite-id >
<key-many-to-one name="titulo" class="com.simplestec.mercantil.dados.titulos.TituloWeb" column="Nume_Titu_Web"/>
<key-property name="numeParcWeb" column="nume_Parc_Web"/>
<generator class="assigned"/>
</composite-id>
<property name="valoImpo" column="valo_Impo" type="double"/>
<property name="valoMult" column="valo_Mult" type="double"/>
<property name="valoJuro" column="valo_Juro" type="double"/>
<property name="valorCorr" column="valor_Corr" type="double"/>
<property name="valoTota" column="valo_Tota" type="double"/>
<property name="dataVenc" column="data_Venc" type="string"/>
<property name="codiSitu" column="codi_Situ" type="string"/>
<property name="dataPaga" column="data_Paga" type="string"/>
<property name="numeTitu" column="nume_Titu" type="string"/>
</class>
</hibernate-mapping>[/code]
Como se percebe tenho um relacionamento one-to-many onde um TituloWeb possui várias parcelas. Quando executo o código é lançada a seguinte exceçao:
net.sf.hibernate.QueryException: in expected: titulo.parcelas [from com.simplestec.mercantil.dados.titulos.TituloWeb as titulo left outer join fetch titulo.parcelas where titulo.numeTituWeb = :numeTituWeb ]
at net.sf.hibernate.hql.FromParser.token(FromParser.java:92)
at net.sf.hibernate.hql.ClauseParser.token(ClauseParser.java:73)
Alguem sabe onde está o erro? a sintaxe do “left outer join fetch” está correta? Minha base eh SQLServer, ela suporta esse tipo de operação?
Agradeço