spring hibernate无法在初始化数据库时添加外键约束

8ftvxx2r  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(297)

当spring初始化时,出现以下异常:https://pastebin.com/abmus4v3
以下是发生异常的kotlin代码,它是实体构造函数的一部分:

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

credentialtype是枚举类。
有趣的是,这个异常发生在mysql上,而不是mariadb上。
提前谢谢!

k0pti3hp

k0pti3hp1#

我也有同样的问题。我通过将hibernate方言从mysql5dialect切换到mysql5innodbdialect来修复它。希望有帮助。

6tr1vspr

6tr1vspr2#

所以,经过研究,我找到了一个解决办法(这确实是一个解决办法)
如果使用ddl自动模式 create , none , validate 或者 create-drop 它确实会起作用。我知道它有不同的效果。但不管怎么说,它现在起作用了。我认为这与mysql如何处理更新约束有关。
顺便说一句:在配置文件中选择mysql57dialect时仍然会发生这种情况。

相关问题