SQLException errno: 150 во время сборки gradle

Итак, я создаю API на основе весенней загрузки, и после создания проекта при подключении к серверу mariaDB, на котором размещена БД, я получаю следующее исключение.

Caused by: org.hibernate.tool.schema.spi.SchemaManagementException: Unable to execute schema management to JDBC target [alter table pow2image add constraint FKfnn5r6ascraodeblk9mrkedfq foreign key (image_id) references Image (id)]
    at org.hibernate.tool.schema.internal.TargetDatabaseImpl.accept(TargetDatabaseImpl.java:59)
    at org.hibernate.tool.schema.internal.SchemaMigratorImpl.applySqlString(SchemaMigratorImpl.java:431)
    at org.hibernate.tool.schema.internal.SchemaMigratorImpl.applySqlStrings(SchemaMigratorImpl.java:420)
    at org.hibernate.tool.schema.internal.SchemaMigratorImpl.applyForeignKeys(SchemaMigratorImpl.java:386)
    at org.hibernate.tool.schema.internal.SchemaMigratorImpl.doMigrationToTargets(SchemaMigratorImpl.java:214)
    at org.hibernate.tool.schema.internal.SchemaMigratorImpl.doMigration(SchemaMigratorImpl.java:60)
    at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:134)
    at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:101)
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:472)
    at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:444)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:879)
    ... 71 more
Caused by: java.sql.SQLException: Can't create table 'praze.#sql-db9_175' (errno: 150)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2483)
    at com.mysql.jdbc.StatementImpl.executeUpdateInternal(StatementImpl.java:1552)
    at com.mysql.jdbc.StatementImpl.executeLargeUpdate(StatementImpl.java:2607)
    at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1480)
    at org.hibernate.tool.schema.internal.TargetDatabaseImpl.accept(TargetDatabaseImpl.java:56)
    ... 81 more

Это сценарии создания для задействованных таблиц.

DROP TABLE IF EXISTS pow2image;    
    CREATE TABLE `pow2image` (
          `pow_id` int(11) NOT NULL,
          `image_id` int(11) NOT NULL,
          PRIMARY KEY (`pow_id`,`image_id`),
          CONSTRAINT `FKd134yk996sx2f8a9e4as75cyd` FOREIGN KEY (`pow_id`) REFERENCES `place_of_worship` (`id`),
          CONSTRAINT `FKsk2761pm5gcx9dd09gnww1ord` FOREIGN KEY (`image_id`) REFERENCES `image` (`id`)
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

        DROP TABLE IF EXISTS place_of_worship;
        CREATE TABLE place_of_worship (
            id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
            name VARCHAR(240) DEFAULT NULL,
            address VARCHAR(240) DEFAULT NULL,
            phone VARCHAR(20) DEFAULT NULL,
            google_id VARCHAR(100) DEFAULT NULL,
            description VARCHAR(300)
        )  ENGINE=INNODB;

        DROP TABLE IF EXISTS image;
        CREATE TABLE IF NOT EXISTS image (
            id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
            server_location VARCHAR(255),
            path_to_image VARCHAR(255),
            upload_date DATETIME
        )  ENGINE=INNODB;

Хотя, когда я создаю проект при подключении к моему локально размещенному серверу MySQL, проект строится без ошибок.

Любая помощь приветствуется.

ОБНОВИТЬ:

+-----------------------------+--------------------+
| constraint_name             | table_name         |
+-----------------------------+--------------------+
| FK3ibpw0h9kwvc50b4i1jh8dl   | users2profileimage |
| FK3ibpw0h9kwvc50b4i1jhwv8dl | users2review       |
| FKhqe0if0vbqn7j3hd32bc1gkhi | users2review       |
| FKhqe0if0vbqn7j3hd32bkhi    | users2profileimage |
| FKo68tp3gfehrsjesas3eltvk9w | pow2review         |
| FKrd83cby4x2n561nx477y46kk8 | pow2review         |
| religion_ibfk_1             | religion           |
| review_ibfk_1               | review             |
| review_ibfk_2               | review             |
+-----------------------------+--------------------+

Я запросил все внешние ключи в БД, и похоже, что я получаю ошибку для ключа, которого даже не существует?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
56
1

Ответы 1

Я не уверен, но думаю, что невозможно создать FOREIGN для таблицы "pow2image", так как что-то не так с вашими отзывами.

Другие вопросы по теме