Java Spring Boot Hibernate属性未从属性文件中获取
将spring引导版本从1.3升级到1.4.2.RELEASE后,project无法在类路径中获取export.sql文件 在我的属性(.yml)文件中,我有两个数据源(serviceapione,serviceapitwo),如下所示 spring 1.3属性Java Spring Boot Hibernate属性未从属性文件中获取,java,spring,spring-boot,Java,Spring,Spring Boot,将spring引导版本从1.3升级到1.4.2.RELEASE后,project无法在类路径中获取export.sql文件 在我的属性(.yml)文件中,我有两个数据源(serviceapione,serviceapitwo),如下所示 spring 1.3属性 spring: 配置: 位置:类路径:。 服务电话: 数据源: url:jdbc:h2:mem:app_db;模式=Oracle;DB\u关闭\u打开\u退出=错误 driverClassName:org.h2.Driver 用户名:s
spring:
配置:
位置:类路径:。
服务电话:
数据源:
url:jdbc:h2:mem:app_db;模式=Oracle;DB\u关闭\u打开\u退出=错误
driverClassName:org.h2.Driver
用户名:sa
密码:
testWhileIdle:对
validationQuery:从双数据库中选择sysdate
maxWait:1000
maxActive:20
maxIdle:9
迷你版:2
testOnBorrow:false
jpa:
show-sql:true
数据库:H2
数据库平台:org.hibernate.dial.h2dial
生成ddl:true
同样,serviceapitwo和它都是从DataSourceConfig类加载的
@Configuration
public class ServiceApiOneDataSourceConfig {
@Bean
@Primary
@ConfigurationProperties(prefix = "serviceapione.datasource")
public DataSource serviceDataSource() {
return DataSourceBuilder
.create()
.build();
}
@Bean
public EntityManagerFactory serviceEntityManagerFactory() {
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();
factory.setJpaVendorAdapter(vendorAdapter);
factory.setPackagesToScan("package.path");
factory.setDataSource(serviceDataSource());
factory.afterPropertiesSet();
return factory.getObject();
}
}
迁移后,我有以下版本,
弹簧靴:1.4.2.1释放
冬眠:5.0.11.1决赛
因此,为了使服务正常运行,我必须在.yml文件中添加以下配置
并从config类中添加hibernate属性(例如:hibernate.hbm2ddl.auto)
spring:
配置:
位置:类路径:。
jpa:
在视图中打开:false
数据源类
@Bean
public EntityManagerFactory commerceEntityManagerFactory() {
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();
factory.setJpaVendorAdapter(vendorAdapter);
factory.setPackagesToScan("package.path");
factory.setDataSource(serviceDataSource());
Map<String, Object> properties = new HashMap<>();
properties.put("hibernate.hbm2ddl.auto", "create");
factory.setJpaPropertyMap(properties);
factory.afterPropertiesSet();
return factory.getObject();
}
@Bean
公共实体管理工厂商业实体管理工厂(){
HibernateJavaEndorapter vendorAdapter=新的HibernateJavaEndorapter();
LocalContainerEntityManagerFactoryBean工厂=新的LocalContainerEntityManagerFactoryBean();
工厂。setJpaVendorAdapter(供应商适配器);
setPackagesToScan(“package.path”);
setDataSource(serviceDataSource());
映射属性=新的HashMap();
properties.put(“hibernate.hbm2ddl.auto”、“create”);
factory.SetJPapPropertyMap(属性);
factory.AfterPropertieSet();
返回factory.getObject();
}
但我不想在config类中定义这些hibernate属性。我怎么能
将其从属性文件直接加载到上下文
我试着加上
config:
位置:类路径:。
jpa:
在视图中打开:false
冬眠:
ddl自动:创建
并尝试将hibernate属性添加到数据源部分
serviceapione:
数据源:
//性质
jpa:
show-sql:true
数据库:H2
数据库平台:org.hibernate.dial.h2dial
生成ddl:true
冬眠:
ddl自动:创建