簡體   English   中英

播種初始數據 - Spring Boot 與 data.sql

[英]Seeding Initial Data - Spring Boot with data.sql

data.sql 在創建 JPA 實體之前執行,它會創建找不到表的錯誤。 有人可以幫我嗎? 我在這個鏈接Spring Boot - Loading Initial Data 中看到了同樣的問題,但沒有回答這個問題。

我相信這是 Springboot 自 2.5 版以來的正常和想要的行為。 這背后的想法是,純SQL(與schema.sqldata.sql )和基於JPA創建數據庫技術是兩種不同的方法來初始化數據庫。

默認情況下,框架會斷言只使用一個並優先使用基於 SQL 的。 初始化將按以下順序完成:

  1. 運行schema.sql以創建和操作數據庫結構 (DDL)
  2. 運行data.sql以填充數據庫 (DML)
  3. 初始化您的EntityManagerFactory

要實現您想要的行為,您需要告訴他將 JPA 優先於純 SQL。 這可以通過在您的配置中設置來完成:

spring.jpa.defer-datasource-initialization=true

官方文檔中提供了更多詳細信息,特別是第 9.3 點。

暫無
暫無

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

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