Search code examples
nhibernatenhibernate-mappingspring.netnamed-query

named query in NHibernate with not equal operator


NHibernate throw exception with sql server not equal to operator <>.

<sql-query name="Select">
    <return alias="OrderStock" class="OrderStock"/>
select * from OrderStock WHERE dh.DATE_UNLOADED <> '1753-01-01'
</sql-query>

Name cannot begin with the '>' character


Solution

  • We can escape symbols <> with &lt;&gt; like this:

    <sql-query name="Select">
        <return alias="OrderStock" class="OrderStock"/>
    select * from OrderStock WHERE dh.DATE_UNLOADED &lt;&gt; '1753-01-01'
    </sql-query>
    

    Or we can use xml raw text escaping with <![CDATA[ .... ]]>:

    <sql-query name="Select">
        <return alias="OrderStock" class="OrderStock"/>
    <![CDATA[
    select * from OrderStock WHERE dh.DATE_UNLOADED <> '1753-01-01'
    ]]>
    </sql-query>