删除Hibernate 4.2.21中Table的所有行

时间:2015-11-19 09:32:44

标签: java sql hibernate oracle11g oracle12c

我正在使用oracle 12c和Hibernate 4.2.21,我想删除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();
        }   

当我执行此操作时,我没有收到任何错误,只有这个:

INFO  [stdout] (ServerService Thread Pool -- 60) Hibernate: delete from MapField

但是当我去检查Db中的表格时,行仍然在这里..

1 个答案:

答案 0 :(得分:0)

尝试在q2.executeUpdate();

之后提交您的交易
session.getTransaction().commit();
相关问题