【问题标题】:Delete all rows of Table in Hibernate 4.2.21Hibernate 4.2.21删除Table的所有行
【发布时间】:2016-02-21 08:41:27
【问题描述】:

我正在使用 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();
        }   

当我执行这个时,我没有收到 none Error ,只有这个:

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

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

【问题讨论】:

    标签: java sql hibernate oracle11g oracle12c


    【解决方案1】:

    尝试在q2.executeUpdate();之后提交您的事务

    session.getTransaction().commit();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-09
      • 1970-01-01
      • 2012-02-03
      • 2014-01-24
      • 2011-10-14
      • 1970-01-01
      • 2012-06-21
      相关资源
      最近更新 更多