[英]Spring/Hibernate Truncate/Delete all rows from a table - Transaction issues
[英]Delete all rows of Table in Hibernate 4.2.21
我正在使用oracle 12c和Hibernate 4.2.21,我想删除telationship OnetoMany中的两个表。
我的方法是从“表”中删除:
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();
}
当我执行此操作时,我没有收到Error,而只有以下内容:
INFO [stdout] (ServerService Thread Pool -- 60) Hibernate: delete from MapField
但是当我去检查Db中的表时,行仍然在这里。
尝试在q2.executeUpdate();
之后提交交易q2.executeUpdate();
session.getTransaction().commit();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.