at persistence.DAOImp.getAllStu(DAOImp.java:71)
你看下你DAOImp这个class的getAllStu方法的71行,检查一下就知道错误了。。
这些很明显的错误自己先检查。。

解决方案 »

  1.   

    正巧我也有这本书,不错的。
    你说的这个类,应该在24页,中间的部分。从错误提示上来看,
    //下面这两行是LOG4J的警告,暂时不用理它
    log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
    log4j:WARN Please initialize the log4j system properly.
    //从这里开始,才是真正的错误:
    //异常:未找到定义的类。
    Exception in thread "main" java.lang.NoClassDefFoundError
    at persistence.DAOImp.getAllStu(DAOImp.java:71)  //DAOImp.java的71行
    at BusinessManager.BM.main(BM.java:19)           //BM.java的19行。(估计这里是调用了DAO.Imp.getAllStu()这个方法)解决的办法是,你看下你的DAOImp.java的71行的代码,用到了哪个类,看看是不是已经import进来了。我刚翻了下书,并且数了下行数,getAllStu方法起始于48行左右,结束于 65行左右。没有找到71行。 - -public static List getAllStu(){
        List list=null;
        try{  
            session=HibernateUtil.currentSession();
            Transaction tx=session.beginTransaction();
            Query q=session.createQuery("from Studen");
            list=q.list();
            tx.commit();
        }
        //....
    }
    你看下,是不是没有import session, Transaction 什么的。
      

  2.   

    我在编译时没有错误,运行时报错 
    log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
    log4j:WARN Please initialize the log4j system properly.
    Exception in thread "main" java.lang.NoClassDefFoundError
    at persistence.DAOImp.getAllStu(DAOImp.java:71)
    at BusinessManager.BM.main(BM.java:19)
    牵包都没有问题,下面是问题代码,注明了第71行,望指教,多谢
    public static List getAllStu() {
                    List list=null;
                    try {
                            session = HibernateUtil.currentSession(); //开启连接
                            Transaction tx = session.beginTransaction(); //开启事务
                            Query q=session.createQuery("from Student");
                            list=q.list();
                            tx.commit();                } catch (HibernateException e) { //捕捉例外
                            e.printStackTrace();
                    }finally
                    {
                            HibernateUtil.closeSession(session);//这是71行
                    }
                    return list;        }