很奇怪的问题!牛人帮解决下,谢谢,我把分梭了

zys2419740 2009-11-03 05:45:47
public PageInfo queryForPage(int pageSize,int page,TbStelMeg sm,TbBeg beg)//通过具体信息和sdType获得分页信息
{
this.stelmeg = sm;
this.tbbeg=beg;

final String hql = "from TbBeg where stelSport=? and tbStelMeg.stelId=?";
// final String hql = "from TbBeg where tbStelMeg.stelId=? and sdType=?"; //查询语句
System.out.println("00000000000");
Object[] obj={beg.getStelSport(),sm.getStelId()};
System.out.println("1111");
int allRow = this.getHibernateTemplate().find(hql,obj).size(); //总记录数
int totalPage = PageInfo.countTotalPage(pageSize, allRow);//设置每页显示几条 2条
final int offset = PageInfo.countOffset(pageSize, page); //当前页开始记录
final int length = pageSize;
final int currentPage = PageInfo.countCurrentPage(page);
System.out.println("22222");
List list = getHibernateTemplate().executeFind(new HibernateCallback()
{

public Object doInHibernate(Session session) throws HibernateException,SQLException
{

Query query = session.createQuery(hql)
.setParameter(0, stelmeg.getStelId())
.setParameter(1, tbbeg.getSdType());//Hibernate的分页精髓!~
query.setFirstResult(offset);
query.setMaxResults(length);
List<TbBeg> list = query.list();
return list;
}
});

PageInfo pageinfo = new PageInfo();
pageinfo.setPageSize(pageSize);
pageinfo.setCurrentPage(currentPage);
pageinfo.setAllRow(allRow);
pageinfo.setTotalPage(totalPage);
pageinfo.setList(list);
pageinfo.init();
return pageinfo;
}
我的一个方法,然后调用时出现的异常:
log4j:WARN No appenders could be found for logger (org.springframework.context.support.FileSystemXmlApplicationContext).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer
at org.hibernate.type.StringType.toString(StringType.java:44)
at org.hibernate.type.NullableType.toLoggableString(NullableType.java:168)
at org.hibernate.pretty.Printer.toString(Printer.java:65)
at org.hibernate.engine.QueryParameters.traceParameters(QueryParameters.java:256)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:149)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at xf.dragon.dao.impl.Beg_dao$1.doInHibernate(Beg_dao.java:166)-->这是我的方法出错的地方-->List list = query.list();用范型也不好使
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
at org.springframework.orm.hibernate3.HibernateTemplate.executeFind(HibernateTemplate.java:343)
at xf.dragon.dao.impl.Beg_dao.queryForPage(Beg_dao.java:155)
at LocalTest.TestDemo.main(TestDemo.java:39)
...全文
165 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰河谷908 2009-11-04
  • 打赏
  • 举报
回复
是不是你的hbm.xml种的对象的属性的类型配置错了。 比如说主键 你指定的java.lang.Integer,而数据库中不是number
shingching 2009-11-04
  • 打赏
  • 举报
回复
学习
zys2419740 2009-11-04
  • 打赏
  • 举报
回复
其实是我把int类型的参数和String类型的参数的位置弄反了,呵呵谢谢大家
zl3450341 2009-11-03
  • 打赏
  • 举报
回复
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer

看看你传的参数
liguangwen86 2009-11-03
  • 打赏
  • 举报
回复
java.lang.ClassCastException: java.lang.Integer
类型转化异常
阿士匹灵 2009-11-03
  • 打赏
  • 举报
回复
下班 路过 学习 呵呵
BearRui 2009-11-03
  • 打赏
  • 举报
回复
确定你stelmeg.getStelId() 和 tbbeg.getSdType()的数据类型和

stelSport=? and tbStelMeg.stelId=? 这2个字段类似一样,错误提示显示应该是类型不一致。
youjianbo_han_87 2009-11-03
  • 打赏
  • 举报
回复
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer

指定页码的时候,是不是没有传整型参数过去。看看哪里有需要 用 整型的。传参数传错了类型。
closewbq 2009-11-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 liguominz 的回复:]
问题貌似在这里
              Query query = session.createQuery(hql)
                .setParameter(0, stelmeg.getStelId())
                .setParameter(1, tbbeg.getSdType());//Hibernate的分页精髓!~
好像是从1开始的,没有0
[/Quote]
是从0开始的!
debug下,具体看下这部分
dragon.dao.impl.Beg_dao.queryForPage(Beg_dao.java:155)
longds7 2009-11-03
  • 打赏
  • 举报
回复
final String hql = "from TbBeg where stelSport=" +? +"and tbStelMeg.stelId="+?;

应该这样吧
liguominz 2009-11-03
  • 打赏
  • 举报
回复
问题貌似在这里
Query query = session.createQuery(hql)
.setParameter(0, stelmeg.getStelId())
.setParameter(1, tbbeg.getSdType());//Hibernate的分页精髓!~
好像是从1开始的,没有0
r9ronalodo 2009-11-03
  • 打赏
  • 举报
回复
期待高手
lzh_me 2009-11-03
  • 打赏
  • 举报
回复
帮顶...
zys2419740 2009-11-03
  • 打赏
  • 举报
回复
急啊!!!!!!!

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧