你好,我想
我正在学习spring boot和做一个小项目来扩展我的知识。
我在启动春季启动应用程序时遇到了异常,我不知道如何解决。
下面是异常消息
的部分Hibernate: alter table token add constraint FK79keudebybjlldk2o4i0nwqev foreign key (user_user_id) references user
2022-05-18 12:01:20.531 WARN 9092 --- [ main] o.h.t.s.i.ExceptionHandlerLoggedImpl : GenerationTarget encountered exception accepting command : Error executing DDL "alter table token add constraint FK79keudebybjlldk2o4i0nwqev foreign key (user_user_id) references user" via JDBC Statement
我不知道到底是哪里出了问题,所以这里是仓库的链接。(据我所知,一切工作都是安全的;
githubRepo
Spring引导可能被配置为具有spring.jpa.hibernate.ddl-auto=update
,这意味着它将在需要时更新模式以匹配Spring应用程序的域层。
考虑到模式已经包含了一些数据(表记录),Spring尝试更新一个表以具有约束,但是该约束不受现有数据的尊重,因此DDL失败。
清理上述表的数据可能会允许spring执行DDL脚本来应用上述约束。
否则,您可以切换到spring.jpa.hibernate.ddl-auto=create
, Spring将首先从数据库中删除所有表,这也意味着删除现有数据,然后重新创建模式。这将使以前的数据不会违反约束。因此,spring将能够继续使用DDL。