从网上看到:
Query query = session.createSQLQuery("select state ,count(*) as vs from wzsite group by state");
//1、将查询结果转换成List<Map<字段名,字段值>>
query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
//2、将结果转换成指定的bean List<你的指定javaBean>
query.setResultTransformer(Transformers.aliasToBean(LineData.class));
List<LineData> lineDataList = query.list();
for(LineData lineData : lineDataList){
System.out.println("dddd = " + lineData.getVs());
}这种方式,我的LineData类中的两个属性是
private int state;
private int vs;
结果测试的是他老是报异常:org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of gan.ism.vo.LineData.vs
org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:104)
org.hibernate.transform.AliasToBeanResultTransformer.transformTuple(AliasToBeanResultTransformer.java:95)
org.hibernate.hql.HolderInstantiator.instantiate(HolderInstantiator.java:69)
org.hibernate.loader.custom.CustomLoader.getResultList(CustomLoader.java:330)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2108)
org.hibernate.loader.Loader.list(Loader.java:2103)
org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1696)
org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
gan.ism.business.impl.WzSiteManagerImpl.getLineDataList(WzSiteManagerImpl.java:71)
org.apache.jsp.test_jsp._jspService(test_jsp.java:78)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
root cause java.lang.IllegalArgumentException: argument type mismatch
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:42)
org.hibernate.transform.AliasToBeanResultTransformer.transformTuple(AliasToBeanResultTransformer.java:95)
org.hibernate.hql.HolderInstantiator.instantiate(HolderInstantiator.java:69)
org.hibernate.loader.custom.CustomLoader.getResultList(CustomLoader.java:330)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2108)
org.hibernate.loader.Loader.list(Loader.java:2103)
org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1696)
org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
gan.ism.business.impl.WzSiteManagerImpl.getLineDataList(WzSiteManagerImpl.java:71)
org.apache.jsp.test_jsp._jspService(test_jsp.java:78)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
Query query = session.createSQLQuery("select state ,count(*) as vs from wzsite group by state");
//1、将查询结果转换成List<Map<字段名,字段值>>
query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
//2、将结果转换成指定的bean List<你的指定javaBean>
query.setResultTransformer(Transformers.aliasToBean(LineData.class));
List<LineData> lineDataList = query.list();
for(LineData lineData : lineDataList){
System.out.println("dddd = " + lineData.getVs());
}这种方式,我的LineData类中的两个属性是
private int state;
private int vs;
结果测试的是他老是报异常:org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of gan.ism.vo.LineData.vs
org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:104)
org.hibernate.transform.AliasToBeanResultTransformer.transformTuple(AliasToBeanResultTransformer.java:95)
org.hibernate.hql.HolderInstantiator.instantiate(HolderInstantiator.java:69)
org.hibernate.loader.custom.CustomLoader.getResultList(CustomLoader.java:330)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2108)
org.hibernate.loader.Loader.list(Loader.java:2103)
org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1696)
org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
gan.ism.business.impl.WzSiteManagerImpl.getLineDataList(WzSiteManagerImpl.java:71)
org.apache.jsp.test_jsp._jspService(test_jsp.java:78)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
root cause java.lang.IllegalArgumentException: argument type mismatch
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:42)
org.hibernate.transform.AliasToBeanResultTransformer.transformTuple(AliasToBeanResultTransformer.java:95)
org.hibernate.hql.HolderInstantiator.instantiate(HolderInstantiator.java:69)
org.hibernate.loader.custom.CustomLoader.getResultList(CustomLoader.java:330)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2108)
org.hibernate.loader.Loader.list(Loader.java:2103)
org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1696)
org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
gan.ism.business.impl.WzSiteManagerImpl.getLineDataList(WzSiteManagerImpl.java:71)
org.apache.jsp.test_jsp._jspService(test_jsp.java:78)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
解决方案 »
- 我的jrxml文件只要已导入就出错,换了jrxml文件还出错,求解?
- 邮箱
- ssh组合中前台页面根据不同ID获取不同的津贴种类只能读取最后一条ID的津贴种类信息为什么
- 关于服务器监控的问题
- 100分求助,quartz触发时间的奇怪问题
- 我想学J2EE,不知道该从哪入手先,先面的课程能学到什么水准.有什么好课程能说写没
- 想开始学J2EE了。前辈多指点!
- 发现hibernate分页一个很笨的问题
- jboss-3.2.5.zip 解压后找不到javax.servlet.jar包是为何??
- 如何在hibernate中一次提交删除多条记录?
- 请问Hibernate每次用完会话时需要关闭吗? ..
- 今天去面试了--济南--100分+++
貌似是参数类型不匹配导致set方法调用失败
所以我改了一下
Query query = session.createSQLQuery(
"select state ,count(*) as vs from wzsite group by state")
.addScalar("state", Hibernate.INTEGER).addScalar("vs",Hibernate.INTEGER);这样就OK了