在 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();