Đây là những gì tôi đã làm để giải quyết vấn đề này dựa trên Spring Boot.
Giải pháp
từ
// application.properties
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
đến
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
Giải thích
Như bạn có thể thấy bên dưới, có vẻ như giá trị mặc định cho CascadeDelete tại MySQL5InnoDBDialect.java chỉ hỗ trợ Cascade.
// MySQLDialect.java
@Override
public boolean supportsCascadeDelete() {
return false;
}
// MySQL5InnoDBDialect.java
@Override
public boolean supportsCascadeDelete() {
return true;
}