sql.append(" SELECT dc.ID as \"deviceCompositionId\", ");
sql.append(" dc.PREID as \"deviceCompositionPreId\", ");
sql.append(" dc.TOPID as \"deviceCompositionTopId\", ");
sql.append(" dc.COMPANYID as \"deviceCompositionCompanyId\", ");
sql.append(" dc.name as \"deviceCompositionName\", ");
sql.append(" dc.viewOrder as \"deviceCompositionViewOrder\", ");
sql.append(" mi.MODULE_ID as \"moduleId\", ");
sql.append(" mi.MODULE_NAME as \"moduleName\", ");
// 这边是对fault_level 取最大值 然后插入实体类的faultMaxLevel 类型是BigDecimal
sql.append(" (select max(fault_level) from fault_info where module_id = mi.MODULE_ID ) as \"faultMaxLevel\",");
//同上
sql.append(" (select count(0) from fault_info where module_id = mi.MODULE_ID group by module_id) as \"faultNumber\" ");
sql.append(" FROM ((COMPOSITION_MODULEINFO cm ");
sql.append(" RIGHT JOIN DEVICECOMPOSITION dc ");
sql.append(" ON dc.id = cm.devcom_id) ");
sql.append(" LEFT JOIN MODULE_INFO mi");
sql.append(" ON cm.module_id = mi.module_id ) ");
sql.append(" where 1=1 and (mi.enable = '1' or mi.enable is null) ");
sql.append(" order by dc.viewOrder,dc.ID,mi.module_id ");
Query query =sessionFactory.getCurrentSession().createSQLQuery(sql.toString());
Query transQuery = query.setResultTransformer(Transformers.aliasToBean(DeviceCompositionMouduleDTO.class));
//报错 显示在这一行~
List<DeviceCompositionMouduleDTO> list=transQuery.list();
sql语句中取最大值 转换BigDecimal类型
最新推荐文章于 2022-08-16 16:45:23 发布