hibernate中多表查询的用法

来源:互联网 发布:淘宝客推广权重 编辑:程序博客网 时间:2024/05/21 11:26

Session session = this.openSession();


String sql ="select i.itemName as itemName,i.dir as dir, i.itemId as itemId,count(dlog.itemId) as count,m.userName as name" +

" from item as i left join debitlog as dlog on i.itemId = dlog.itemId left join member as m on i.userId=m.userId" +

" where date_format(dlog.debitTime,'%Y-%m')=date_format(now(),'%Y-%m')" +    //是否在本月

                               // " where YEARWEEK(date_format(dlog.debitTime,'%Y-%m-%d')) = YEARWEEK(now())"  //是否在本周

" group by CAST(dlog.itemId AS UNSIGNED) order by count desc limit 0,5";


SQLQuery query  = session.createSQLQuery(sql);
query.addScalar("itemId", Hibernate.INTEGER);
                query.addScalar("itemName", Hibernate.STRING);
                query.addScalar("dir",Hibernate.STRING);
                query.addScalar("name",Hibernate.STRING);
List debitLogList = query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
原创粉丝点击