是否有 mysql查询(使用MariaDB 10.x.x)或 Hibernate HQL ,其中单个数据库中的所有表都被删除了?现在我正在尝试使用下面的代码,但它对数据库没有任何作用。由于我使用的是Hibernate 5.x.x,因此createSQLQuery
被折旧;因此我使用createNativeQuery
代替。
tx = s.beginTransaction();
Session s = getSessionFactory().openSession();
Transaction tx = null;
try {
tx = s.beginTransaction();
s.createNativeQuery("SET FOREIGN_KEY_CHECKS = 0");
s.createNativeQuery("DROP DATABASE restaurantapp");
tx.commit();
} catch (HibernateException e) {
if (tx != null) {
tx.rollback();
}
e.printStackTrace();
} finally {
s.close();
}
答案 0 :(得分:0)
SQL命令没问题,但我不知道在每次本机查询后我需要添加.executeUpdate();
。
解决方案代码:
Session s = getSessionFactory().openSession();
Transaction tx = null;
try {
tx = s.beginTransaction();
s.createNativeQuery("SET FOREIGN_KEY_CHECKS = 0").executeUpdate();
s.createNativeQuery("DROP DATABASE restaurantapp").executeUpdate();
tx.commit();
} catch (HibernateException e) {
if (tx != null) {
tx.rollback();
}
e.printStackTrace();
} finally {
s.close();
}