Tal vez estoy malinterpretando la pregunta, pero no es necesario cambiar completamente a la asignación de hbm.
Puede continuar utilizando NHibernate con fluidez para asignar clases y usar hbm solo para consultas con nombre. En su configuración, debe incluir las entidades y hbms.
_sessionFactory = Fluently.Configure()
.Mappings(m =>
{
m.FluentMappings.AddFromAssemblyOf<SomeEntityMap>();
m.HbmMappings.AddFromAssemblyOf<SomeEntityMap>();
})
.BuildSessionFactory();
En su namedQueries.hbm.xml que entonces sólo definir consultas con nombre:
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<query name="Some.Query.Of.Yours">
<![CDATA[
from SomeEntity e
where e.Property = :propertyValue
]]>
</query>
</hibernate-mapping>
¿de dónde buscar el archivo .hbm.xml? – codeulike
Debe definir el archivo .hbm.xml como recurso incrustado. Esta línea: m.HbmMappings.AddFromAssemblyOf(); le dice a nhibernate a qué proyecto debe mirar (SomeEntityMap no necesita ser un mapa, sino cualquier clase que resida en el mismo proyecto que el archivo hbm.xml) –