To je to, co jsem udělal, abych tento problém vyřešil na základě Spring Boot.
Řešení
od
// application.properties
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
do
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
Vysvětlení
Jak můžete vidět níže, zdá se, že výchozí hodnota pro CascadeDelete na MySQL5InnoDBDialect.java podporuje pouze Cascade.
// MySQLDialect.java
@Override
public boolean supportsCascadeDelete() {
return false;
}
// MySQL5InnoDBDialect.java
@Override
public boolean supportsCascadeDelete() {
return true;
}