nhibernate:如何映射聚合

时间:2009-07-22 18:47:23

标签: nhibernate-mapping

下午好,我正在努力学习nHibernate并且它并不是非常清楚。

我需要获取sql查询的结果:

select patient.name,
       discipline.description,
       sum(patient.enddate - patient.startdate) as totaltime
from treatment
 join patient on patient.id = treatment.patientId
 join discipline.id = treatment.disciplineId

我不需要保留结果,只需显示它。

  • 如果我直接使用hql:

它将实例化哪些对象并返回给我?它是否会动态构建包含与结果集中的列相同的字段的对象列表?文档遗漏了这些信息。

  • 如果我需要制作地图:

你是否创建了一个映射到'meta'对象或其中一个连接表(比如'treatment')?

由于

1 个答案:

答案 0 :(得分:0)

这可以通过使用DTO对象(“数据传输对象”)来实现。您创建的对象仅包含您要返回的数据。添加初始化构造函数。那么你的hql可以是以下形式:

从x join x.y中选择新的mydto(x.value,y.value);

它似乎不喜欢在对象构造函数中使用聚合函数。