我在我的 Spring Boot 應用程式中使用 Hibernate 并毫無問題地填充表。但是,我正在嘗試將 2 條記錄添加到import.sql在類路徑上使用的填充表之一。
INSERT INTO role(id, role_type) VALUES(1, 'ADMIN');
INSERT INTO role(id, role_type) VALUES(2, 'USER');
我還設定了以下屬性:
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.defer-datasource-initialization=true
spring.sql.init.mode=always
當我運行應用程式時,會創建表并填充資料,并創建表。但是,我收到“執行 DDL 時出錯:alter table user_role drop foreign key”錯誤。
當我spring.jpa.hibernate.ddl-auto如下所示更新時,沒有錯誤并且創建了表。但是,記錄不會插入到角色表中:
spring.jpa.hibernate.ddl-auto= update
那么,如何在運行應用程式時插入資料而沒有任何問題?
uj5u.com熱心網友回復:
import.sqlspring.jpa.hibernate.ddl-auto只有設定為createor時才會執行create-drop。
或者,您可以使用data.sql它將執行而與hibernate.ddl配置無關。
使用spring.jpa.hibernate.ddl-auto= updateanddata.sql應該可以解決您的兩個錯誤。
spring.sql.init.mode=always
spring.jpa.defer-datasource-initialization=true
spring.jpa.hibernate.ddl-auto= update
使用延遲資料源
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/528171.html
標籤:爪哇春天弹簧靴休眠jpa
