Spring Hibernate在初始化数据库时不能添加外键约束

当Spring初始化时,我得到以下exception: https : //pastebin.com/abMuS4v3

这里是发生exception的kotlin代码,它是实体构造函数的一部分:

@ElementCollection(fetch = FetchType.EAGER) @CollectionTable(joinColumns = [(JoinColumn(name = "id"))]) @Column(name = "authenticated_factor") val authenticatedFactors: MutableSet = hashSetOf(), 

CredentialType是一个枚举类。

有趣的是,这个exception发生在MySQL上,但不在MariaDB上。

提前致谢!

所以,通过一些研究,我得到了一些解决办法。 (这真的是一个解决方法)

如果您使用ddl-auto模式createnonevalidatecreate-drop它实际上将工作。 我知道它有不同的效果。 但无论如何它现在工作。 我认为这与MySQL如何处理更新约束有关。

顺便说一句:在配置文件中选择MySQL57Dialect的时候,它仍然会发生。