Spring整合Hibernate报错:Type org.hibernate.SessionFactory not present求助
解决Spring+Hibernate项目中
Type org.hibernate.SessionFactory not present错误 检查依赖完整性
确保项目中包含Hibernate核心及Spring整合Hibernate的必要依赖:
Maven依赖示例:<!-- Spring ORM 整合Hibernate --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>你的Spring版本</version> </dependency> <!-- Hibernate核心 --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>匹配Spring的Hibernate版本</version> </dependency> <!-- MySQL驱动 --> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>适配你的MySQL版本</version> <scope>runtime</scope> </dependency>确保版本兼容
Spring与Hibernate版本必须匹配:- Spring 5.x 搭配 Hibernate 5.4.x ~ 5.6.x
- Spring 6.x 搭配 Hibernate 6.0.x 及以上
版本不兼容会导致类加载失败,出现找不到SessionFactory的错误。
修正Spring配置
确认Spring配置中正确配置了SessionFactory:
Java配置示例:@Bean public LocalSessionFactoryBean sessionFactory(DataSource dataSource) { LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean(); sessionFactory.setDataSource(dataSource); sessionFactory.setPackagesToScan("你的实体类包路径"); sessionFactory.setHibernateProperties(hibernateProperties()); return sessionFactory; } private Properties hibernateProperties() { Properties props = new Properties(); props.put("hibernate.dialect", "org.hibernate.dialect.MySQL8Dialect"); props.put("hibernate.show_sql", "true"); props.put("hibernate.hbm2ddl.auto", "update"); return props; }XML配置示例:
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="packagesToScan" value="你的实体类包路径"/> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> </props> </property> </bean>处理模块路径问题(JDK9+)
如果项目使用模块化(module-info.java),需在模块声明中添加对Hibernate的依赖:module your.module.name { requires org.hibernate.core; requires spring.orm; }
内容的提问来源于stack exchange,提问作者Ujjwal Mishra
相关产品推荐
相关产品推荐

