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
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步