sql >> データベース >  >> RDS >> Mysql

Hibernate OnDeleteカスケードはMySqlでは機能しませんが、postgresおよびMs-Sqlでは機能します

    これは、SpringBootに基づいてこの問題を解決するために私が行ったことです。

    解決策

    から

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

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

    説明
    以下に示すように、MySQL5InnoDBDialect.javaのCascadeDeleteのデフォルト値はCascadeのみをサポートしているようです。

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



    1. 高速パンダデータフレームをpostgresに書き込む

    2. SPARSECOLUMNを使用する理由と時期(SQL SERVER 2008)

    3. タイムスタンプを挿入しないクエリビルダー

    4. pgAdminでER図を作成する