hibernate sqlQuery 与实体类的映射关系问题 sql语句: select cs.funid , cs.funname, cs.describe, cs.parents, (select count(1) from CodeSysFunction1 csf where csf.parents=cs.funid) children from CodeSysFunction1 cs where parents = 0
执行这个SQl语句的方法: public List<CodeSysFunction> queryForList(String sql){ return this.getSession().createSQLQuery(sql).addEntity(CodeSysFunction.class).list();//sql语句 }
------解决方案--------------------
代码逻辑混乱。。。 你方法返回值是List<CodeSysFunction>,CodeSysFunction对象中不包含children属性 也就是即使不报错,你的方法返回的是List<CodeSysFunction>,用不到children数据。 既然用不到,为什么你的SQL要将它查出来。。。
------解决方案-------------------- 在CodeSysFunction里面加一个children属性。
------解决方案-------------------- (select count(1) from CodeSysFunction1 csf where csf.parents=cs.funid) children改成(select count(1) from CodeSysFunction1 csf where csf.parents=cs.funid) as children
------解决方案-------------------- where parents = 0改成where cs.parents = 0呢。
------解决方案-------------------- 没觉得少什么条件啊。
------解决方案--------------------