Try to replace the '*' with something "compilable" without execute the SQL. and... <query> mean HQL, for SQL the tag is <sql-query>
2009/12/31 Rippo <[email protected]> > In my MSSQL server I have a SQL view called AllFavourite. In order to > load the data into my DTO class I have the following in my hbm.xml > file... > > <?xml version="1.0" encoding="utf-8" ?> > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" > namespace="Domain.Model.Entities" assembly="Domain.Model"> > <import class="AllFavourite"/> > </hibernate-mapping> > In my code I have the following. > > public IList<AllFavourite> GetFavourites(int userId) > { > var query = Session > .CreateSQLQuery("SELECT * FROM AllFavourite where > UserId=:UserId") > .SetInt32("UserId", userId) > .SetResultTransformer(new AliasToBeanResultTransformer(typeof > (AllFavourite))); > return query.List<AllFavourite>(); > } > This works great and produces the results that I am after, however I > would like to move the SQL from code into a named query into the > hbm.xml file. So my hbm.xml file now looks like this > > <?xml version="1.0" encoding="utf-8" ?> > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" > namespace="Domain.Model.Entities" assembly="Domain.Model"> > <import class="AllFavourite"/> > <query name="GetAllFavouriteByUserId"> > <![CDATA[ > SELECT * FROM AllFavourite WHERE UserId=:UserId > ]]> > </query> > </hibernate-mapping> > and my code now looks like this > > public IList<AllFavourite> GetFavourites(int userId) > { > var query = Session > .GetNamedQuery("GetAllFavouriteByUserId") > .SetInt32("UserId", userId) > .SetResultTransformer(new AliasToBeanResultTransformer(typeof > (AllFavourite))); > return query.List<AllFavourite>(); > } > However when I run this I get an error:- > > Parameter UserId does not exist as a named parameter in [SELECT * FROM > AllFavourite WHERE UserId=:UserId] > > So my question is it possible to use a named query in this manner? > > -- > > You received this message because you are subscribed to the Google Groups > "nhusers" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<nhusers%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/nhusers?hl=en. > > > -- Fabio Maulo -- You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=en.
