碰到了一个Hibernate异常:
Exception: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
配置文件中已经数据库方言如下:
<!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
创建SessionFactory对象时会抛出上面的异常,最初创建SessionFactory采用下面方式:
new Configuration().configure("/conf/hibernate/hibernate.cfg.xml") .buildSessionFactory(new StandardServiceRegistryBuilder().build())
修改SessionFactory创建的方式,解决了上面的异常,创建方式如下:
Configuration configuration = new Configuration(); configuration.configure("/conf/hibernate/hibernate.cfg.xml"); ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder() .applySettings(configuration.getProperties()).build(); SessionFactory sessionFactory = configuration .buildSessionFactory(serviceRegistry); return sessionFactory;