碰到了一个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;