2011-10-17 74 views
0

我有一個命名查詢,檢索類「Expediente」的對象列表。我需要爲這個對象添加一個計算字段(confirmado),但是我無法弄清楚如何爲這個特定查詢映射這個字段。我試圖在映射文件中使用insert =「false」update =「false」但隨後每個查詢都需要該字段。 你能幫我嗎?如何在NHibernate中選擇非映射字段?

<sql-query name="BuscarExpedientes"> 
<return alias="e" class="GestionDPV.Core.Expediente, GestionDPV.Core"/> 
<return-join alias="cab" property="e.Agregados"/> 
<![CDATA[ 
    SELECT e.*, 
    CASE 
    WHEN p.id IS NULL THEN p.confirmado 
    ELSE 1 
    END AS confirmado 
    FROM Expedientes e 
    LEFT JOIN Expedientes cab ON cab.id = e.idCabecera 
    LEFT JOIN Pases p ON p.idExpediente = e.id AND p.fechaGeneracion = (SELECT MAX(fechaGeneracion) FROM Pases WHERE idExpediente = e.id) 
]]> 

回答

0

您可以使用<return-scalar>。請參閱documentation

順便說一句,如果你期望<return-join>,你也必須選擇它的列。

+0

我試過這種方法,但與返回標量,我不能映射此標量值作爲類中的屬性。這是我的問題,返回整個類加上這個額外的字段 – 2011-10-19 11:19:26