欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

jpa mysql设置了级联,但是外键不生效

程序员文章站 2022-03-02 14:58:25
...

1、驱动是innodb, 外键才生效。 修改my.ini或my.cnf,重启mysql
2、application.properties里面设置

spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect

3、实体类设置级联。

满足这3点,就会生成外键。

如果不想要外键,可以如下设置:

@ManyToOne()
@JoinColumn(name = "f_id",foreignKey = @ForeignKey(name = "none",value = ConstraintMode.NO_CONSTRAINT))
private Father father;

因为@JoinColumn中的
ForeignKey foreignKey() default @ForeignKey(PROVIDER_DEFAULT)
默认是PROVIDER_DEFAULT jpa厂商的默认行为,会根据方言设置外键关系。

相关标签: jpa

上一篇: 心得体会

下一篇: 心得体会