将mysql查询转换为nhibernate

时间:2010-06-09 11:44:01

标签: mysql nhibernate

拜托,您能帮我翻译一下这样的mysql查询到nhibernate:

SELECT sales_id, service_id,dayofyear(dt), max(dt) FROM clients.statistics group by sales_id, service_id,dayofyear(dt);

2 个答案:

答案 0 :(得分:0)

sales_id是Sales类的属性,service_id是Service类的属性

答案 1 :(得分:0)

如果你有一个有效的SQL查询,你可以直接使用它与Hibernate。 Hibernate可以执行这些查询,并将查询结果包装为对象。

this doc about mapping a entity class on SQL query。这是来自普通的Hibernate(不是NHibernate),但类似的东西应该适合你的情况。

首先创建一个包含查询结果的类(例如Result)并包含对所需实体的引用(Sales and Service)

String sql = "SELECT sales_id, service_id,dayofyear(dt), max(dt) "
    "FROM clients.statistics " +
    "group by sales_id, service_id, dayofyear(dt)";
sess.createSQLQuery(sql).addEntity("result", Result.class)
    .addJoin("result.sales").addJoin("result.services");