在 Hibernate 4.2.21 中删除 Table 的所有行
Delete all rows of Table in Hibernate 4.2.21
我正在使用 oracle 12c 和 Hibernate 4.2.21,我想删除 telationship OnetoMany 中的两个表。
我的方法是从 "Table":
中删除
public void deleteAllRecords() {
Session session = HibernateSessionFactory.getSessionFactory()
.openSession();
try {
session.beginTransaction();
// String hql = String.format("TRUNCATE table MapField");
// Query query = session.createQuery(hql);
// query.executeUpdate();
Query q1 = session.createQuery ("DELETE FROM MapField");
int deleted = q1.executeUpdate ();
Query q2 = session.createQuery ("DELETE FROM MapRecord");
int deleted = q2.executeUpdate ();
} catch (Exception e) {
logger.error("Error :" + e);
session.getTransaction().rollback();
} finally {
session.close();
}
当我执行这个时,我没有收到 none 错误,只有这个:
INFO [stdout] (ServerService Thread Pool -- 60) Hibernate: delete from MapField
但是当我去查看 Db 中的表时,行仍然在这里..
尝试在 q2.executeUpdate();
之后提交您的交易
session.getTransaction().commit();
我正在使用 oracle 12c 和 Hibernate 4.2.21,我想删除 telationship OnetoMany 中的两个表。
我的方法是从 "Table":
中删除public void deleteAllRecords() {
Session session = HibernateSessionFactory.getSessionFactory()
.openSession();
try {
session.beginTransaction();
// String hql = String.format("TRUNCATE table MapField");
// Query query = session.createQuery(hql);
// query.executeUpdate();
Query q1 = session.createQuery ("DELETE FROM MapField");
int deleted = q1.executeUpdate ();
Query q2 = session.createQuery ("DELETE FROM MapRecord");
int deleted = q2.executeUpdate ();
} catch (Exception e) {
logger.error("Error :" + e);
session.getTransaction().rollback();
} finally {
session.close();
}
当我执行这个时,我没有收到 none 错误,只有这个:
INFO [stdout] (ServerService Thread Pool -- 60) Hibernate: delete from MapField
但是当我去查看 Db 中的表时,行仍然在这里..
尝试在 q2.executeUpdate();
session.getTransaction().commit();