【发布时间】:2018-01-07 04:26:15
【问题描述】:
我正在从 Spring Boot 1.5.9 迁移到普通 Spring 项目。
在application.properties我已经添加了
spring.autoconfigure.exclude[0]=org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration
spring.autoconfigure.exclude[1]=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
spring.autoconfigure.exclude[2]=org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration
spring.autoconfigure.exclude[3]=org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
在application.properties 我有一行定义了我正在使用的方言,它与自动配置一起正常工作
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyComponentPathImpl
当我尝试使用 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' 的新配置类运行项目时,如果我删除方言行,自动配置也会出现同样的错误。
我在配置类中指定属性(包括方言)的方式如下
private Map<String, String> properties = new HashMap<String, String>();
public HibernateJpaConfig() {
properties.put("hibernate.hbm2ddl.auto", "create-drop");
properties.put("hibernate.ejb.naming_strategy", "org.hibernate.boot.model.naming.ImplicitNamingStrategyComponentPathImpl");
}
我注意到可能是我的问题的警告消息
WARN 13292 --- [ restartedMain] org.hibernate.orm.deprecation : HHH90000006: Attempted to specify unsupported NamingStrategy via setting [hibernate.ejb.naming_strategy]; NamingStrategy has been removed in favor of the split ImplicitNamingStrategy and PhysicalNamingStrategy; use [hibernate.implicit_naming_strategy] or [hibernate.physical_naming_strategy], respectively, instead.
如果我尝试将地图的第二个值替换为其中一个值,我仍然会遇到同样的错误。
【问题讨论】:
标签: java spring hibernate spring-mvc jpa