应该如何去避免这个错误?session=HibernateUtil.getSession();
trans=session.beginTransaction();
trans.begin();
List<Name> person= session.createQuery("from Name where lastname like '%g%'").list();
System.out.println("ooo");
System.out.println(person.size()); //打印后大小为1
System.out.println(person.get(0)); //可以获取
if(person!=null&&person.size()!=0){
for(Iterator<Name> it=person.iterator();it.hasNext();){
System.out.println(it.next().getId()+":"+it.next().getLastname()); //报题目错
}
}

解决方案 »

  1.   

    好好检查一下你的数据库表的所有字段和java类的所有属性是否对应,名字也要一样~~~~还要检查下映射文件~~~
      

  2.   

    我倒是遇到过此问题,你的Name表不会还是空的吧?还有我造成NoSuchElementException异常是因为多次it.next()造成的,楼主看看自己是因为什么吧
      

  3.   

     System.out.println(it.next().getId()+":"+it.next().getLastname()); 你连续用了两次it.next()~~~到了 it.next().getLastname() 就没有值可以取了~~应该 
    Name person=it.next(); System.out.println(person.getId()+":"+person.getLastname());