<query> es para HQL y HQL no tiene "exec"
2010/8/31 Eddie <[email protected]>
> Buenas,
> Tengo q ejecutar un stored procedure que hace una actualizacion a un
> grupo de registros. Como no es el update normal de un registro, quise
> incluirlo en una Named Query.
>
> Pero siempre obtengo el error [ Named query not known: "Nombre de la
> consulta" ]
> El archivo de mapeo esta bien incluido y funciona perfecto para el
> resto de las operaciones del sistema.
>
> Mi configuracion de las consultas y la forma en que quiero usarlas es
> la siguiente:
>
> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace
> ="CallCenter.ObjectModel.Domain" assembly ="CallCenter.ObjectModel">
> <class name="Gestion" table="Gestiones" where ="Estado='A'" >
> .
> .
> .
> <sql-query name="AG">
> exec
> ActivarGestionesPendientes :IdCamp, :IdDescripcion_Gestion, :PostergarHasta
> </sql-query>
>
> <query name="ActivarGestiones">
> <query-param name="IdCamp" type="Int32"/>
> <query-param name="IdDescripcion_Gestion" type="Int32"/>
> <query-param name="PostergarHasta" type="Date"/>
> exec ActivarGestionesPendientes ?,?,?
> </query>
> </class>
> </hibernate-mapping>
>
> Funcion en el Repocitorio de la clase Gestion
> Public Sub ActivarGestiones(ByVal idCampaña As Integer, ByVal
> idDescripcionGestion As Integer, ByVal postergarHasta As Date)
> 'Traemos la consulta definida en el archivo de mapeo
> 'y seteamos sus parametros
> Dim c As IQuery =
> Session.GetNamedQuery("ActivarGestiones")
> c.SetInt32("IdCamp", idCampaña)
> c.SetInt32("IdDescripcion_Gestion", idDescripcionGestion)
> c.SetDateTime("PostergarHasta", postergarHasta)
>
> c.ExecuteUpdate()
>
>
> Session.GetNamedQuery("AG").SetInt32("IdCamp",
> idCampaña).SetInt32("IdDescripcion_Gestion",
> idDescripcionGestion).SetDateTime("PostergarHasta",
> postergarHasta).UniqueResult()
>
>
>
> Dim list = Session.CreateSQLQuery("exec
> ActivarGestionesPendientes ?, ?, ?")
> list.SetInt32(0, idCampaña)
> list.SetInt32(1, idDescripcionGestion)
> list.SetDateTime(2, postergarHasta)
>
> list.UniqueResult()
>
> End Sub
>
>
> Las dos primeras maneras en las que quiero traer la consulta que esta
> en el archivo de mapeo dan el error que les menciono.
> La 3ra forma (usar en el nombre del SP y crear la consulta por codigo)
> anda bien. Pero me gustaria poder dejar todo en el archivo de mapeo.
>
>
> Muchas gracias a cualquier idea q me puedan dar.
>
> --
> 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