java – 以编程方式在springboot中设置hibernate.ddl-auto

我在非Web应用程序和数据jpa中使用 springboot.我使用除数据源之外的默认配置:

private static final String dataSourceUrl = "jdbc:h2:./Database;DB_CLOSE_ON_EXIT=FALSE";
@Bean
public DataSource dataSource() {
    return DataSourceBuilder.create().url(dataSourceUrl).username("user").password("pwd").build();
}

如何以编程方式设置spring.jpa.hibernate.ddl-auto属性

解决方法

添加以下bean似乎可以完成这项工作(感谢Jens的评论):

@Bean
  public LocalContainerEntityManagerfactorybean entityManagerFactory(DataSource dataSource) {
    LocalContainerEntityManagerfactorybean em = new LocalContainerEntityManagerfactorybean();
    em.setDataSource(dataSource);
    em.setPackagesToScan(new String[] { "packages.to.scan" });

    JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
    em.setJpaVendorAdapter(vendorAdapter);

    Properties properties = new Properties();
    properties.setProperty("hibernate.dialect","org.hibernate.dialect.H2Dialect");
    properties.setProperty("hibernate.hbm2ddl.auto","update");
    em.setJpaProperties(properties);

    return em;
  }

相关文章

解析思路 我们建立好一个SpringBoot的工程后,我们将从启动类,SpringBootApplication开始进行探究。 开...
问题现象 org.springframework.context.ApplicationContextException: Unable to start embedded conta...
异常信息 分析原因 1.该异常是如何产生的 我是通过postman,发送一个post请求,导致该异常的。 从上面的...
有时候会出现这种情况,看一下项目的pom中是否有这个插件配置,没有的话需要引入。
使用方式 在类上打上@slf4j注解 打上注解后可以操作log对象 增加配置文件 在resources下增加配置文件。...
一、概述 Spring框架是以 简化Java EE应用程序的开发 为目标而创建的。Spring可以实现很多功能,但是这...