程序如下,最后报错,Struts+hibernate
package hiber;public class User {
private String password;
private String username;
private int id;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
import java.util.List;import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;public class UserDAO {
public List<User> show(){
List list=null;
try{
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();

Session session = sessionFactory.openSession();

Transaction tx = session.beginTransaction();

String sql = "select * from user where id=1";

Query query = session.createSQLQuery(sql); list = query.list(); tx.commit();

session.close();

sessionFactory.close();
}catch (Exception e) {
e.printStackTrace();
}
return list;
}
}
package hiber;import java.util.Iterator;
import java.util.List;public class UserAction {
public static void main(String[] args) {
UserDAO userDAO = new UserDAO();
List<User> list =userDAO.show();

Iterator<User> iterator = list.iterator();
System.out.print(iterator.next().getId());
}
}

解决方案 »

  1.   

    自己顶下。
    报错为:
    Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object;
    at hiber.UserAction.main(UserAction.java:12)
      

  2.   

    这是在开始运行时报错呢,还是在具体某个方法时报错?
    你是否用log4j打印日志信息呢?
    有用单例模式去调试么?这可能是跟你的线程有关,因为他报出的异常时在主方法运行时,一个线程出现了问题,而这个问题具体我也不知道
      

  3.   

    hiber.UserAction.main(UserAction.java:12)
    关键代码没贴出来java.lang.ClassCastException
    抛出这个异常表示代码企图投射一个对象到一个并不是实例的子类,举例以下代码就会产生一个ClassCastException:     
                Object   x   =   new   Integer(0);   
                System.out.println((String)x);