java.lang.UnsupportedOperationException:只有Hibernate支持DROP约束
我试图删除表中的外键约束,但ucanaccess不支持SQL“drop constraint”语句。错误显示: java.lang.UnsupportedOperationException:只有Hibernate hbm2ddl.auto“create”支持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()
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。