java.lang.NoClassDefFoundError: [Lorg/hibernate/engine/FilterDefinition;

  在做SSH整合练习时,启动项目出现了如下错误

  错误原因在于:我在spring中配置sessionFactory的时候,引用了hibernate3.LocalSessionFactoryBean

  改为org.springframework.orm.hibernate4.LocalSessionFactoryBean后,项目就能正常启动了

 


 

 

Hibernate:4.0以上

当使用4.0以下的hibernate进行注解获取工厂时,下面的bean的获取方式是正确的:

<bean id="sessionFactory"   class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

但当使用4.0之后的版本时,需要注意:

 

可以看到在hibernate4之后已经没有annotation的包了。

所以你的bean应该改为以下模式:

<bean id="sessionFactory"   class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

问题解决,发现可以正常使用了

 

 参考资料:https://blog.csdn.net/zhao_yi_bing/article/details/79908102

 

posted @ 2019-01-23 18:13  yi0123  阅读(407)  评论(0编辑  收藏  举报