0

我在使用时遇到问题DELETE FROM myEntity

我在我的数据库上看到所有条目都消失了,但是当我尝试插入以前存在的条目时,它仍然有我删除它之前的记录。

这是代码:

static SessionFactory session = NewHibernateUtil.getSessionFactory();

public Session membukaSession(){
  return session.openSession();
}

public void clearRencanaPesan(){
    Session sess = this.membukaSession();
    Query query = sess.createQuery("delete from Rencanapesan");
    query.executeUpdate();
}

所以我尝试使用截断

这是代码:

public void clearRencanaPesan(){
    Session sess = this.membukaSession();
    Query query = sess.createQuery("TRUNCATE Table Rencanapesan");
    query.executeUpdate();
}

这个根本不工作@@,条目没有被删除。

这是错误

Jun 18, 2012 11:01:54 PM org.hibernate.hql.ast.ErrorCounter reportError SEVERE: line 1:1: unexpected token: TRUNCATE Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: node to traverse cannot be null!

请帮助我,我怎样才能截断或删除所有条目。
太感谢了。

4

1 回答 1

2

您提供的查询没有错误。我的第一个猜测是会话在使用查询手动删除后不同步。Session.flush()确保会话与底层数据库同步。

public void clearRencanaPesan(){
    Session sess = this.membukaSession();
    Query query = sess.createQuery("delete from Rencanapesan");
    query.executeUpdate();
}
// after you've made your changes and before closing the session.
sess.flush();
于 2012-06-18T22:45:44.797 回答