【问题标题】:best way to add static data in postgreSql using spring boot [duplicate]使用spring boot在postgreSql中添加静态数据的最佳方法[重复]
【发布时间】:2020-01-24 11:05:57
【问题描述】:

我正在使用 PostgreSQL DB 开发一个 Spring Boot 项目。我想在数据库中插入一些静态数据,这些数据永远不会改变。执行此操作的最佳方法是什么:-

1- 在我的类路径中使用 .sql 文件。但问题是,它总是会在应用程序启动时插入数据。

2- 在数据库中使用插入查询。只能一次性操作。

3-在spring boot主类中使用dataInitializer并从代码中插入数据。

提前致谢。

【问题讨论】:

    标签: java postgresql spring-boot


    【解决方案1】:

    我建议使用FlywayLiquibase

    两者都对 Spring 进行了很好的调优。

    【讨论】:

    • 我更喜欢 Liquibase,例如将 CSV 文件与 changeSet 一起使用,使用 runOnChange="true" 定义
    • flyway 是在每次应用程序启动时插入数据,还是一次性活动? @Yogesh Prajapati
    • 这是一次性活动,你必须在资源文件夹下创建一个带有版本的文件。如果您需要在新版本中进行更多操作,可以创建新文件。
    【解决方案2】:

    希望您在应用程序中使用 hibernate 作为 ORM 进行数据库配置。

    使用休眠,您可以控制何时使用 sql 文件以及何时执行插入语句,

    一个属性可用于休眠配置,名为, hibernate.hbm2ddl.import_files = sql 文件路径

    以上属性将用于提供sql文件路径,文件仅在以下情况下才会被执行 hibernate.hbm2ddl.auto = 提供创建或创建删除模式。

    现在第二次开始你的应用程序启动时只需修改属性 hibernate.hbm2ddl.auto = 验证。

    Sql文件导入永远不会在上述模式下执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-28
      • 2020-05-31
      • 2021-11-27
      • 2015-10-16
      • 1970-01-01
      • 1970-01-01
      • 2022-10-14
      • 2020-02-28
      相关资源
      最近更新 更多