好像版本不一致
如果你用的是2.0,就得把代码里
org.hibernate.dialect.SQLServerDialect这些改成
net.sf.hibernate.dialect.SQLServerDialect(其他类似)
如果用的是3.0,应该把hibernate-configuration-2.0.dtd改成3.0的,,,我也是初学,说的不对的话见谅

解决方案 »

  1.   

    hibernate.cfg.xml  配置文件没有找到~   看看指定的路径是否正确
      

  2.   

    private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
    private static final ThreadLocal threadLocal = new ThreadLocal();
    private static final Configuration cfg = new Configuration();
    private static SessionFactory sessionFactory; public static Session currentSession() throws HibernateException {
            Session session = (Session) threadLocal.get();
            if (session != null && !session.isOpen()) session = null;
            if (session == null) {
              if (sessionFactory == null) {
                try {
                  cfg.configure(CONFIG_FILE_LOCATION);
                  sessionFactory = cfg.buildSessionFactory();
                } catch (Exception e) {
                  System.err
            .println("%%%% Error Creating HibernateSessionFactory %%%%");
                  e.printStackTrace();
                }
              }
              session = sessionFactory.openSession();
              threadLocal.set(session);
            }
            return session;
          }
    public static void closeSession() throws HibernateException {
            Session session = (Session) threadLocal.get();
            threadLocal.set(null);        if (session != null) {
                session.close();
            }
        }
      

  3.   

    <!DOCTYPE hibernate-configuration
    PUBLIC "-//Hibernate/Hibernate Configuration DTD 2.0//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">如果3.0就在上面的DTD后面改为3.0 后面的也要改为3.0.dtd你试试看。
      

  4.   

    试过了,我改成3.0  还是错误!本人初学hibernate ,大家多多帮助啊....
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
              "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
      

  5.   

    1:你的hibernate.cfg.xml文件应该位于你的class目录下面,不能放到其他的包里面,否则就会报找不到你的hibernate.cfg.xml文件
    2:关于对数据库的SQL语言的指定问题,即hibernate.dialect是否正确的问题,每个版本的hibernate对每种数据库的dialect都不一样,hibernate2是net.sf之类的,而hibernate3是org.hibernate之类的,仔细看看你的版本与数据库之间是由对应
      

  6.   

    建议学3以上的版本,看错误好像是配置文件没找到,报空指针异常,看你的HIBERNATE.CFG.XML是不是放在SRC下面