java.lang.UnsupportedOperationException:仅Hibernate支持DROP CONSTRAINT

问题描述 投票:0回答:1

我正在尝试在表中删除外键约束,但是ucanaccess不支持SQL“ DROP CONSTRAINT”语句。错误说:

java.lang.UnsupportedOperationException:仅Hibernate支持DROP CONSTRAINT 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;");
            }
        }
}
java jdbc ucanaccess
1个回答
0
投票

错误消息暗示将hbm2ddl.auto设置为create将解决问题:

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

但是,您可能需要三思而后行,因为这意味着与Hibernate实体关联的所有表都将在每次启动应用程序时创建和删除。

© www.soinside.com 2019 - 2024. All rights reserved.