java.lang.UnsupportedOperationException: DROP CONSTRAINT поддерживается только для Hibernate - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь удалить ограничение внешнего ключа в таблице, но оператор SQL "DROP CONSTRAINT" не поддерживается ucanaccess. ошибка говорит:

java.lang.UnsupportedOperationException: DROP CONSTRAINT поддерживается только для Hibernate hbm2ddl.auto "create"

Кто-нибудь знает способ обойти это?

private void dropTables() throws SQLException {
        final String RENTALS = "RENTALS";
        Statement statement = conn.createStatement();

        DatabaseMetaData metaData = conn.getMetaData();
        ResultSet rs = metaData.getTables(null, null, RENTALS, null);

        while (rs.next()) {
            if (rs.getString(3).equals(RENTALS)) {
                statement.executeUpdate("ALTER TABLE RENTALS DROP CONSTRAINT"  
                                                           + " custNumber;");
                statement.executeUpdate("ALTER TABLE RENTALS DROP CONSTRAINT" 
                                                           + " vehNumber;");
                statement.executeUpdate("DROP TABLE CUSTOMERS;");
                statement.executeUpdate("DROP TABLE VEHICLE;");
                statement.executeUpdate("DROP TABLE RENTALS;");
            }
        }
}

1 Ответ

1 голос
/ 10 октября 2019

Сообщение об ошибке подразумевает, что установка hbm2ddl.auto на create решит проблему:

<entry key="hibernate.hbm2ddl.auto" value="create">

Однако вы можете подумать дважды, прежде чем делать это, поскольку это означает, что все связанные таблицыс вашими объектами Hibernate будут создаваться и удаляться при каждом запуске приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...