具体一点:not all named parameters have been set! 
杯命名的参数没有设置
flag = stuDao.checkStuInfo(student.getName(), student.getPassword()); 
这句有问题吧
flag = stuDao.checkStuInfo(student.setName(loginForm.getUsername()),
student.setPassword(loginForm.getPassword()); 
或者
String a=student.setName(loginForm.getUsername());
String b=student.setPassword(loginForm.getPassword()); 
flag = stuDao.checkStuInfo(a,b); 

解决方案 »

  1.   

    问题有点怪.
    是不是你选择的 hibernate版本的问题. 
      

  2.   

    不是啊!
    我调试了,两个参数多有value:
    name=liuyu  password=888
    我在hibernate.cfg.xml中设了show_sql = true!有如下信息:
    Hibernate: select student0_.id as id, student0_.name as name0_, student0_.password as password0_, student0_.jiguan as jiguan0_, student0_.department as department0_, student0_.sex as sex0_, student0_. as 0_, student0_.tel as tel0_, student0_.phone as phone0_, student0_.email as email0_ from stu__student student0_ where student0_.name=? and student0_.password=? limit ?
      

  3.   

    student0_.name=? and student0_.password=? limit ? -----------------------------------------------------mysql正确的应该是:limit ?,? 你少了个参数
      

  4.   

    哦...为什么会少一个参数呢?
    如何编写正确的代码呢-->可是我的hql语句没有问题啊!
      

  5.   

    hql没有问题
    但是sql有问题
    你用mysql?
    仔细看看limist函数
    那要求有2个参数的
    limit a,b   取得从a行到b行的记录
    ============================================
    你为什么不一开始就把sql语句和完整的报错信息发上来
    我倒上面那个解释就连我自己都觉得很牵强
      

  6.   

    MySQL里若在使用setMaxResults时报错的话,可能是你的JDBC驱动有问题,请下载较新版本的JDBC驱动