继前文:Hibernate4中buildSessionFactory方法废弃问题。 后继续有问题。本来之前好好的项目,用了这种新的方法后发现问题。
出现 Connection cannot be null when 'hibernate.dialect' not set,明明就在hibernate.cfg.xml配置了,但是还是提示方言为空,原来,少了一个
hibernate.properties文件,添加之后,又出现一大堆问题。
之前项目不需properties文件,两者的区别就是旧项目用了:
<span style="font-size:18px;">SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();</span>
新项目
<span style="font-size:18px;">Configuration configuration = new Configuration();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);</span>
原来,少了,configuration.configure()方法
没有configure()就会去classpath找hibernate.properties文件,有configure就去找hibernate.cfg.xml文件。
就这么简单,囧!