错误:Error creating bean with name 'sessionFactory' defined in class path resource

问题:在Spring整合Hibernate时,出现“SessionFactory 创建不成功,初始化失败”的错误。

查了百度后发现,造成这个错误有很多原因,比如什么数据库映射文件写错呀、引用路径些写错等各种错误层出不穷。后来自己经过思考发现,其实只要你的系统通过监听器在服务器启动时就加载Spring的配置文件,从而创建sessionfactory对象的过程中有错误就会报这个初始化文件的错误。所以说一旦别人的解决办法不能解决自己的问题时,就证明你的错误跟他的不一样,这是就需要自己在去看eclipse的控制台显示的错误日志中的caused by后面的信息,看具体由什么原因造成。这也就是我通过这个题目给自己的反思。今后一定要多仔细观察控制台中信息,这样才能提高自己解决错误的能力。

回到正题,我查看控制台后面的信息后发现了这么一句:java.lang.ClassNotFoundException: org.hibernate.boot.model.naming.ImplicitNamingStrategy。经差,是由于hibernate版本问题导致出现这个问题。你在spring配置文件中创建sessionfactory对象时的ckass路径需要跟你使用的版本一致,而且是要使用hibernate5版本的jar包,如果使用低版本的jar,配置文件中的具体将会不一样(具体不做说明,知道是这个原因就行)。我先是去hiberbate官网把版本5下载了下来,然后将核心jar包导入后在运行就可以了。

你可能感兴趣的:(java中级)