在没有 .hbm 或 xml 文件的 NHibernate Fluent 映射中定义命名查询

Posted

技术标签:

【中文标题】在没有 .hbm 或 xml 文件的 NHibernate Fluent 映射中定义命名查询【英文标题】:Define Named Query in NHibernate Fluent Mapping without .hbm or xml files 【发布时间】:2011-11-16 20:02:01 【问题描述】:

目前我正在使用 NHibernate 和 Fluent 映射作为 ORM。

我使用命名查询来调用存储过程。命名查询保存在.hbm 文件中。

例如:

<hibernate-mapping default-cascade="none" 
   xmlns="urn:nhibernate-mapping-2.2" 
   assembly="com.Entities" namespace="com.Entities" >  
   <sql-query name="QUERY_NAME" cacheable="false">
         <return class="FreeText" alias="results" >
            <return-property name="Id" column="FreeTextId"/>
            <return-property name="FreeTextValue" column="FreeText"/>
         </return>
         exec PROC_NAME :PARAM1, :PARAM2  
   </sql-query>    
 </hibernate-mapping>

我想知道是否有一种方法可以在映射类中定义命名查询,以避免完全使用.hbm 文件!

【问题讨论】:

【参考方案1】:

目前还不能,见https://github.com/jagregory/fluent-nhibernate/wiki/Current-NHibernate-Features-Not-Supported-In-Fluent:

(当前)不支持的功能:

&lt;sql-insert&gt; &lt;loader&gt; &lt;database-object&gt; &lt;sql-query&gt; 更改主键名称(目前也有 NHibernate 限制)

【讨论】:

:( 感谢您的链接。我在 Fluent 上永远找不到好的完整资源。您能提出任何建议吗

以上是关于在没有 .hbm 或 xml 文件的 NHibernate Fluent 映射中定义命名查询的主要内容,如果未能解决你的问题,请参考以下文章

hibernate中用注解后就不用hbm.xml文件了吗

hibernate.hbm.xml文件配置入门小结

*.hbm.xml作用是什么

myeclipse.hbm.xml如何自动生成

org.hibernate.MappingNotFoundException: *.hbm.xml not found

如何根据实体类生成对应的.hbm.xml文件?