我在我的Sping Boot 应用程序中使用Hibernate,填充表没有任何问题。但是,我试图在类路径上使用import.sql
向填充的表中添加2条记录。
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
当我运行应用程序时,创建了表并填充了数据,然后创建了表。更改表user_role删除外键”* 错误。
当我如下所示更新spring.jpa.hibernate.ddl-auto
时,没有错误,并且创建了表。但是,记录没有插入到角色表中:
spring.jpa.hibernate.ddl-auto= update
那么,如何在运行应用程序时插入数据而不出现任何问题呢?
1条答案
按热度按时间eyh26e7m1#
只有在
spring.jpa.hibernate.ddl-auto
设置为create
或create-drop
时,才会执行import.sql
。或者,您可以使用
data.sql
,它将在不考虑hibernate.ddl
配置的情况下执行。使用
spring.jpa.hibernate.ddl-auto= update
和data.sql
应该可以解决这两个错误。使用延迟数据源