Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.UnsupportedOperationException:只有Hibernate支持DROP约束_Java_Jdbc_Ucanaccess - Fatal编程技术网

java.lang.UnsupportedOperationException:只有Hibernate支持DROP约束

java.lang.UnsupportedOperationException:只有Hibernate支持DROP约束,java,jdbc,ucanaccess,Java,Jdbc,Ucanaccess,我试图删除表中的外键约束,但ucanaccess不支持SQL“drop constraint”语句。错误显示: java.lang.UnsupportedOperationException:只有Hibernate hbm2ddl.auto“create”支持DROP约束 有人知道怎么解决这个问题吗 private void dropTables()引发SQLException{ 最终字符串RENTALS=“RENTALS”; 语句Statement=conn.createStatement()

我试图删除表中的外键约束,但ucanaccess不支持SQL“drop constraint”语句。错误显示:

java.lang.UnsupportedOperationException:只有Hibernate hbm2ddl.auto“create”支持DROP约束

有人知道怎么解决这个问题吗

private void dropTables()引发SQLException{
最终字符串RENTALS=“RENTALS”;
语句Statement=conn.createStatement();
DatabaseMetaData=conn.getMetaData();
ResultSet rs=metaData.getTables(null,null,RENTALS,null);
while(rs.next()){
if(rs.getString(3).equals(租金)){
语句.executeUpdate(“ALTER TABLE RENTALS DROP CONSTRAINT”
+“客户编号;”;
语句.executeUpdate(“ALTER TABLE RENTALS DROP CONSTRAINT”
+“vehNumber;”;
语句.executeUpdate(“DROP TABLE CUSTOMERS;”);
语句。执行更新(“DROP TABLE VEHICLE;”);
报表.executeUpdate(“DROP TABLE RENTALS;”);
}
}
}

错误消息意味着将
hbm2ddl.auto
设置为
create
将解决以下问题:

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


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

谢谢您的回答,@Tim。表的创建和删除实际上是所需的行为。但是如何添加输入键,是在代码中还是在数据库(access)中添加?我对您的设置一无所知。尝试在项目中全局搜索
hibernate.hbm2ddl.auto
。这将显示正确的配置文件。请发布完整的stacktrace。