看异常的意思 应该是    'hibernate.dialect' 没设    DialectResolutionInfo 不允许为空,,设置下数据库方言实施

解决方案 »

  1.   

    配置文件应该这样写<!-- 二级缓存 -->
    <property name="hibernate.cache.use_second_level_cache">true</property>

    <!-- 查询缓存 -->
    <property name="hibernate.cache.use_query_cache">true</property>

    <!-- Hibernate4的配置方法 -->

    <property name="hibernate.cache.region.factory_class">
    org.hibernate.cache.ehcache.EhCacheRegionFactory
    </property>

    <!-- Hibernate3的配置方法 -->

    <!-- <property name="hibernate.cache.provider_class">
    org.hibernate.cache.EhCacheProvider
    </property> -->
    SessionFactory的获取方法:
    Configuration configuration = new Configuration().configure();
    ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
    sf = configuration.buildSessionFactory(serviceRegistry);
    然后要引入mysql的connector包,我是应为没导入和sessionFactory获取方法不对,才出的这个包出的问题!
      

  2.   

    出现错误的根本原因不在于配置文件,而是在于hibernate的SessionFactory的生成策略在hibernate4中已经把原有的SessionFactory sessions = cfg.buildSessionFactory();
    这种方法标记为过时的了。在hibernate4中,构建SessionFactory 需要加入参数ServiceRegistry
    这里给了一种可行的方式:Configuration cfg = new Configuration().configure();
    StandardServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
    .applySettings(cfg.getProperties()).build();
    SessionFactory sessionFactory = cfg.buildSessionFactory(serviceRegistry);
      

  3.   

    自己也遇到同样问题,楼上的答案再加一句
    Configuration cg = new Configuration();
      cg.configure();//此为增加的,这个是configure和serviceregistry之间
      ServiceRegistry  sr = new ServiceRegistryBuilder().applySettings(cg.getProperties()).buildServiceRegistry();
      SessionFactory sf = cg.buildSessionFactory(sr);
      

  4.   

    hibernate4 已经废弃原来的buildSessionFactory 用下面的就没问题了Configuration cfg = new Configuration().configure();
    StandardServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
                        .applySettings(cfg.getProperties()).build();
    SessionFactory sessionFactory = cfg.buildSessionFactory(serviceRegistry);