quizás puedas encontrar otras opciones interesantes en:
http://nhforge.org/doc/nh/en/index.html#queryhql.
<http://nhforge.org/doc/nh/en/index.html#queryhql>

2010/4/9 Carlos Cocom <[email protected]>

> you're right
>
> Bueno pensaba que este era un HQL y es que suponia que simplemente
> utilizando los nombres de las entidades se podia traducir este a cualquier
> sql de alli que en el query utilizara los nombres de las entidades y no los
> nombre fisicos
>
> select tblDiario.ID, tblDiario.IdPost, tblDiario.ID, tblDiario.Asunto,
> tblDiario.Mensaje, tblDiario.FeCreacion, tblDiario.AutorId, tblDiario.Orden,
> tblActividades.Id As ActividadID, tblActividades.Nombre from *cDiario *as
> tblDiario inner join *cDiario_actividad *as LnkDiario on tblDiario.ID =
> LnkDiario.DiarioID inner join *cActividad *as tblActividades on
> tblActividades.ID = LnkDiario.ActividadID where LnkDiario.ActividadID =
> :param1 and tblDiario.Orden = 1
>
>
> Sin embargo veo que el CreateQuery utiliza las relaciones definidas en los
> hbm para hacer los joins con lo que te ahorras los ON en el join.
>
> Para no hacer la mas largar utilice una operacion cartesiana y ya funciono
>
>
> El método quedo de la siguiente manera
>
> *public cObjectResponse ObtenerListaNotaCabecera(int IdActividad)*
> *        {*
> *            cObjectResponse Response = new cObjectResponse();*
> *            IException oException = Response;*
> *
> *
> *            try*
> *            {*
> *                using (ISession session = NHibernateHelper.OpenSession())
> *
> *                {*
> *                    IQuery q = session.CreateQuery("select tblDiario.ID
> as ID, tblDiario.IdPost As IdPost, tblDiario.Asunto as Asunto,
> tblDiario.Mensaje as Mensaje, tblDiario.FeCreacion as FeCreacion,
> tblDiario.AutorId as AutorId, tblDiario.Orden as Orden, tblActividades.ID As
> ActividadID, tblActividades.Nombre as Nombre from cDiario as tblDiario,
> cDiario_actividad as LnkDiario, cActividad as tblActividades where
> (tblDiario.ID = LnkDiario.DiarioID) and (tblActividades.ID =
> LnkDiario.ActividadID) and LnkDiario.ActividadID = :param1 and
> tblDiario.Orden = 1");*
> *                    q.SetString("param1", IdActividad.ToString());*
> *                    q.SetResultTransformer(new
> AliasToBeanResultTransformer(typeof(DiarioLista)));                    *
> *                    IList<DiarioLista> entidades = q.List<DiarioLista>();
>                    *
> *                    Response.Data = entidades;*
> *                }*
> *            }*
> *            catch (System.Exception e)*
> *            {*
> *                oException.setException(e.Source.ToString(), e.Message,
> 507);*
> *            }*
> *
> *
> *            return Response;*
> *        }*
>
> Gracias por lo comentarios
>
> Saludos [?]
>
>
> El 9 de abril de 2010 00:24, Fabio Maulo <[email protected]> escribió:
>
> El metodo CreateQuery recibe un HQL lo que escribiste vos es una SQL.
>>
>> El 8 de abril de 2010 16:47, Carlos Cocom <[email protected]>escribió:
>>
>> Para este query utilice CreateQuery
>>>
>>>
>>> Mira este es el método
>>>
>>>         public cObjectResponse ObtenerListaNotaCabecera(int IdActividad)
>>>         {
>>>             cObjectResponse Response = new cObjectResponse();
>>>             IException oException = Response;
>>>
>>>             try
>>>             {
>>>                 using (ISession session = NHibernateHelper.OpenSession())
>>>                 {
>>>                     IQuery q = *session.CreateQuery*("select
>>> tblDiario.ID, tblDiario.IdPost, tblDiario.ID, tblDiario.Asunto,
>>> tblDiario.Mensaje, tblDiario.FeCreacion, tblDiario.AutorId, tblDiario.Orden,
>>> tblActividades.Id As ActividadID, tblActividades.Nombre from cDiario as
>>> tblDiario inner join cDiario_actividad as LnkDiario on tblDiario.ID =
>>> LnkDiario.DiarioID inner join cActividad as tblActividades on
>>> tblActividades.ID = LnkDiario.ActividadID where LnkDiario.ActividadID =
>>> :param1 and tblDiario.Orden = 1");
>>>                     q.SetString("param1", IdActividad.ToString());
>>>                     q.SetResultTransformer(new
>>> AliasToBeanResultTransformer(typeof(DiarioLista)));
>>>                     IList<DiarioLista> entidades = q.List<DiarioLista>();
>>>
>>>                     Response.Data = entidades;
>>>                 }
>>>             }
>>>             catch (System.Exception e)
>>>             {
>>>                 oException.setException(e.Source.ToString(), e.Message,
>>> 507);
>>>             }
>>>
>>>             return Response;
>>>         }
>>>
>>>
>>>
>>> El 8 de abril de 2010 09:19, Fabio Maulo <[email protected]>escribió:
>>>
>>> esa query la escribiste vos, no?
>>>> que metodo de la session usaste para ejecutarla ?
>>>>
>>>> El 8 de abril de 2010 06:53, Carlos Cocom <[email protected]>escribió:
>>>>
>>>>> Hola a toda la comunidad
>>>>>
>>>>> Haciendo un query para ejecutar en NHibernate me tira el siguiente
>>>>> mensaje
>>>>>
>>>>> *"Path expected for join! [select tblDiario.ID, tblDiario.IdPost,
>>>>> tblDiario.ID, tblDiario.Asunto, tblDiario.Mensaje, tblDiario.FeCreacion,
>>>>> tblDiario.AutorId, tblDiario.Orden, tblActividades.Id As ActividadID,
>>>>> tblActividades.Nombre *
>>>>> *from GFV.cDiario as tblDiario *
>>>>> *inner join cDiario_actividad as LnkDiario *
>>>>> *on tblDiario.ID = LnkDiario.DiarioID *
>>>>> *inner join cActividad as tblActividades *
>>>>> *on tblActividades.ID = LnkDiario.ActividadID *
>>>>> *where LnkDiario.ActividadID = :param1 and tblDiario.Orden = 1]"*
>>>>>
>>>>> Los mapping estan de manera muy simple
>>>>>
>>>>> Alguien puede decirme que estoy haciendo mal en esta situacion??? Por
>>>>> que no le encuentro
>>>>>
>>>>>
>>>>>
>>>>> *cDiario*
>>>>>
>>>>> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="GFV"
>>>>> auto-import="true">
>>>>>   <class name = "GFV.cDiario,GFV" table = "diario">
>>>>>
>>>>>     <id name="ID" column="ID">
>>>>>       <generator class="native"/>
>>>>>     </id>
>>>>>     <property name="IdPost" column="IdPost"/>
>>>>>     <property name="Asunto" column="Asunto"/>
>>>>>     <property name="Mensaje" column="Mensaje"/>
>>>>>     <property name="FeCreacion" column="FeCreacion"/>
>>>>>     <property name="Orden" column="Orden"/>
>>>>>     <property name="AutorId" column="AutorId"/>
>>>>>   </class>
>>>>> </hibernate-mapping>
>>>>>
>>>>> *cActividad*
>>>>>
>>>>> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="GFV"
>>>>> auto-import="true">
>>>>>   <class name = "GFV.cActividad,GFV" table = "actividad">
>>>>>
>>>>>     <id name="ID" column="ID">
>>>>>       <generator class="native"/>
>>>>>     </id>
>>>>>
>>>>>     <property name="PlanId" column="PlanId"/>
>>>>>     <property name="FecIni" column="FecIni"/>
>>>>>     <property name="Parent" column="Parent"/>
>>>>>     <property name="FecFin" column="FecFin"/>
>>>>>     <property name="Checked" column="Checked"/>
>>>>>     <property name="FecChecked" column="FecChecked"/>
>>>>>     <property name="UsuarioId" column="UsuarioId"/>
>>>>>     <property name="ActividadId" column="ActividadId"/>
>>>>>     <property name="Nombre" column="Nombre"/>
>>>>>     <property name="Nivel" column="Nivel"/>
>>>>>     <property name="Duracion" column="Duracion"/>
>>>>>     <property name="SubCategoriaIniId" column="SubCategoriaIniId"/>
>>>>>     <property name="SubCategoriaFinId" column="SubCategoriaFinId"/>
>>>>>     <property name="duracion_childs" column="duracion_childs"/>
>>>>>   </class>
>>>>> </hibernate-mapping>
>>>>>
>>>>> *cDiario_actividad*
>>>>>
>>>>> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="GFV"
>>>>> auto-import="true">
>>>>>   <class name = "GFV.cDiario_actividad,GFV" table = "diario_actividad">
>>>>>
>>>>>     <id name="ID" column="ID">
>>>>>       <generator class="native"/>
>>>>>     </id>
>>>>>
>>>>>     <property name="DiarioID" column="DiarioID"/>
>>>>>     <property name="ActividadID" column="ActividadID"/>
>>>>>   </class>
>>>>> </hibernate-mapping>
>>>>>
>>>>> --
>>>>> Para escribir al Grupo, hágalo a esta dirección:
>>>>> [email protected]
>>>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Fabio Maulo
>>>>
>>>>  --
>>>> Para escribir al Grupo, hágalo a esta dirección:
>>>> [email protected]
>>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>>
>>>
>>>  --
>>> Para escribir al Grupo, hágalo a esta dirección:
>>> [email protected]
>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>>
>>
>>
>>
>> --
>> Fabio Maulo
>>
>>  --
>> Para escribir al Grupo, hágalo a esta dirección:
>> [email protected]
>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>
>
>  --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

To unsubscribe, reply using "remove me" as the subject.

<<32B.gif>>

Responder a