Spring Boot创建entityManagerFactory Bean失败,Hibernate配置报错求助
解决Hibernate
hibernate.hbm2ddl.auto 配置值无效的问题 报错信息
org.springframework.beans.factory.BeanCreationException: 创建类路径资源[org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]中定义的名为'entityManagerFactory'的Bean失败:[持久化单元: default] 无法构建Hibernate SessionFactory;嵌套异常为java.lang.IllegalArgumentException: 无法识别的'hibernate.hbm2ddl.auto'设置值: 'true'
问题原因
Hibernate的hibernate.hbm2ddl.auto参数不支持true作为有效值,该参数用于指定数据库表结构的生成策略,仅接受固定枚举值。
解决方案
- 找到你的配置文件(
application.properties或application.yml)中hibernate.hbm2ddl.auto的配置项 - 将值
true替换为以下Hibernate支持的有效值之一:create:启动时删除原有表并创建新表,适合测试场景create-drop:启动时创建表,应用关闭时自动删除表update:根据实体类更新表结构,保留已有数据,适合开发环境validate:验证实体类与数据库表结构是否匹配,不做修改,适合生产环境none:不执行任何表结构操作,为默认值
示例配置
- application.properties
spring.jpa.hibernate.ddl-auto=update
- application.yml
spring: jpa: hibernate: ddl-auto: update
内容的提问来源于stack exchange,提问作者tejendra singh
相关产品推荐
相关产品推荐

