NHibernate fetch=";加入;映射属性似乎不起作用

NHibernate fetch=";加入;映射属性似乎不起作用,nhibernate,nhibernate-mapping,Nhibernate,Nhibernate Mapping,用NH映射字典。声明如下: <hibernate-mapping ... <map name="CostsByRole" table="JobAccountingSnapshotCosts" lazy="false" fetch="join" access="nosetter.camelcase-underscore"> <key column="Sna

用NH映射字典。声明如下:

<hibernate-mapping ...
    <map 
        name="CostsByRole" 
        table="JobAccountingSnapshotCosts"
        lazy="false" 
        fetch="join" 
        access="nosetter.camelcase-underscore">
            <key column="SnapshotId" />
            <index column="RoleCode" type="String" />
            <element column="Amount" type="Decimal" />
    </map>
</hibernate-mapping>

假设提交时没有输入错误,那么问题很可能是映射中的
join=“fetch”
部分。它应该是<代码> FETCH =“加入”< /> >,因为默认的<代码>取走< /代码>是“select”,这将导致您的顺序选择问题。

HQL查询不考虑在映射中获取的值。您需要在每个HQL查询中专门指定它们。据说这是故意的。fetch属性值仅由条件查询和Load/Get使用

嗯。。。不管谁投了反对票,也许你能解释一下原因?对我来说这是一个合法的问题。映射中的join=“fetch”是一个拼写错误吗?我刚刚逐字重新格式化,它本来就在那里。是的,它是一个拼写错误,现在更正了——感谢您捕获它!那么,纠正打字错误是解决问题的办法吗?或者这只是写问题的一个问题?事实上,这是一个打字错误(谢谢你抓住了它!),现在已经更正了。