用myclise+tomcat5.0.28怎么经常出现问题,自动生成的还是出现问题。在线等,帮忙解决。

解决方案 »

  1.   

    //创建对话
    Query query=session.createQuery("select u from usertable as u where username='" +
    userName + "'");
    try{
    Iterator it = query.iterate();
    ul = (Usertable) it.next();
    从你的代码有两点是存在问题的:
    1.("select u from usertable as u where username='" +userName + "'");这种hql的构造方法是项目实际开发应该避免的,应该使用匹配符的方式来构造(用?),这样做会导致中文内容的传入而出现乱码。
    应该这样:
    ("select u from usertable as u where username=?",参数);
    2.Iterator it = query.iterate();ul = (Usertable) it.next();
    你这样写肯定是有问题的,如果没有数据内容检索出来,那当然要报异常啊!
    应该是:Iterator it = query.iterate();
            if(it.hasNext())
                ul = (Usertable) it.next();
    综上所述:你的问题我估计是中文名的传入导致无法取得数据库数据,所以后面的Iterator读取就失败了,自己好好检查一下,祝你好运!
      

  2.   

    楼上所言有一定道理,但我怀疑是不是sql语句写的有问题?在这里不能用普通sql了,应该用HSQL(Hibernate Sql)吧!
      

  3.   

    hsql应该没有写错的,别人调试都是好的,我调试出现问题,执行到query.iterate();出现错误。
      

  4.   

    myclipse跟踪调试出现:由于发生内部错误而无法创建此部件。产生该故障的原因是:Unmatched braces in the pattern
      

  5.   

    sql语句有错:
    select u from usertable as u where username='" +userName + "'
    应该没有"as"才对
    select u from usertable u where username='" +userName + "'