[英]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.