NHibernate Custom HQL用于加载

时间:2010-05-03 21:15:45

标签: nhibernate nhibernate-mapping

以下内容来自NHibernate文档:

15.4。用于加载的自定义SQL您还可以为实体加载声明自己的SQL (或HQL)查询:

<sql-query name="person">
    <return alias="pers" class="Person" lock-mode="upgrade"/>
    SELECT NAME AS {pers.Name}, ID AS {pers.Id}
    FROM PERSON
    WHERE ID=?
    FOR UPDATE
</sql-query>

这只是一个命名的查询声明,如前所述。您可以在类映射中引用此命名查询:

<class name="Person">
    <id name="Id">
        <generator class="increment"/>
    </id>
    <property name="Name" not-null="true"/>
    <loader query-ref="person"/>
</class>

没有给出使用HQL的示例。我试图简单地用<sql-query>替换<query>,然后用HQL查询替换SQL查询。这导致异常“命名SQL查询未知”。有没有办法告诉它寻找HQL查询而不是SQL查询?

0 个答案:

没有答案