请教一个hql语句,问题大致是这样的:
有一个teacher类,属性有:id,name,year(年份),point(作为分数)【char4的string】
现在要写一个hql语句,实现查询出比上年进步了10%或者20%的学生的列表。
比如:有数据如下:
1,张三,2008,63
2,张三,2009,80,
3,张三,2010,76
4,张三,2011,90
5,李四,2008,30
6,李四,2009,35
7,李四,2010,60
8,李四,2011,61比上年进步10%的数据有:
2,张三,2009,80,
4,张三,2011,90
6,李四,2009,35
请各位给思路,如果有好idea,请不吝赐教!谢谢。
【急问!】【100%结贴!】
有一个teacher类,属性有:id,name,year(年份),point(作为分数)【char4的string】
现在要写一个hql语句,实现查询出比上年进步了10%或者20%的学生的列表。
比如:有数据如下:
1,张三,2008,63
2,张三,2009,80,
3,张三,2010,76
4,张三,2011,90
5,李四,2008,30
6,李四,2009,35
7,李四,2010,60
8,李四,2011,61比上年进步10%的数据有:
2,张三,2009,80,
4,张三,2011,90
6,李四,2009,35
请各位给思路,如果有好idea,请不吝赐教!谢谢。
【急问!】【100%结贴!】
WHERE a.name=b.name AND (b.point*1.0/a.point)>=1.0 AND (b.point*1.0/a.point)<=3.0
像你这个业务最好使用存储过程,动态的传年份
SQL的语句我可以构造出,可是HQL的不知道如何写,虽然把变量和属性对话,表名和类名对换,但是变换之后使用 getHibernateTemplate().find(queryString, value);出来的就不是一个model的对象了。而是一个object的。
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to org.test.Student
不知道是不是我的方法错误?
其实是一个多表查询,返回多对象的问题。
解决办法可以参考这个描述:
Object []object = (Object[]) dataList.get(i);
Model model= (Model ) object[0];
也就是取第一个对象。
不过还是感谢帮忙解答的朋友,分就送给你吧。