繁体   English   中英

删除Hibernate 4.2.21中Table的所有行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM