Mysql
 sql >> база данни >  >> RDS >> Mysql

Hibernate OnDelete Cascade не работи за MySql, но работи на postgres и Ms-Sql

Това направих, за да разреша този проблем въз основа на Spring Boot.

Решение

от

// application.properties  
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect

до

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

Обяснение
Както можете да видите по-долу, изглежда, че стойността по подразбиране за CascadeDelete в MySQL5InnoDBDialect.java поддържа само Cascade.

// MySQLDialect.java
@Override
    public boolean supportsCascadeDelete() {
        return false;
    }

// MySQL5InnoDBDialect.java
@Override
    public boolean supportsCascadeDelete() {
        return true;
    }



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDb SQL инжекция

  2. Масово вмъкване с SQLAlchemy ORM

  3. MySQL Deadlock Detection чрез PHP

  4. SQL присъединяването води до обект в codeigniter

  5. mysql чувствителен към главни букви в utf8_general_ci