簡體   English   中英

使用 derby 使用 EmbeddedDatabaseBuilder 重新執行應用程序后,表正在刷新

[英]Tables are getting refreshed after re-executing the application with EmbeddedDatabaseBuilder using derby

我將 Spring Boot 和 Spring JDBC 與 Derby 一起使用。 下面是初始化嵌入式數據庫的代碼片段。

@Bean
    public DataSource dataSource() {

        // no need shutdown, EmbeddedDatabaseFactoryBean will take care of this
        EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
        EmbeddedDatabase db = builder
            .setType(EmbeddedDatabaseType.DERBY) //.H2 or .DERBY
            .addScript("db/sql/create-db.sql")
            .addScript("db/sql/insert-data.sql")
            .build();
        return db;
    }

但是當我運行應用程序時,每次都會刪除和創建表。 所以上次運行中插入的所有數據都被刷新了。 我不想放下桌子。 我怎樣才能做到這一點?

在您的 application.properties/application.yml 中設置以下屬性

spring.jpa.hibernate.ddl-auto=update

根據此處的 spring 文檔

spring.jpa.hibernate.ddl-auto

DDL 模式。 這實際上是“hibernate.hbm2ddl.auto”屬性的快捷方式。 使用嵌入式數據庫且未檢測到模式管理器時默認為“create-drop” 否則,默認為“無”。

當您使用嵌入式數據庫時,默認為 create-drop

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM