我正在尝试删除数据库中的对象。

我的第一次尝试是:

 public void removeAll(){
    TypedQuery<anObject> query = em.createQuery(
            "DELETE FROM tablName",
            anObject.class);
    query.executeUpdate();
}

这给了我一个例外,因此我查看了该对象站点上的示例,并更新了我的代码以使其类似:
  public int removeAll(){
        int deleted = em.createQuery(
                "DELETE FROM tableName").executeUpdate();
    }

我遇到同样的异常:
com.objectdb.o._TransactionRequiredException: Attempt to run update query when no transaction is active

有人知道我能解决什么吗?

最佳答案

我在这里添加了一个答案,以防其他人偶然发现此问题,这可能会有所帮助。

我忘了添加@Transactional表示法。

最终的代码片段如下所示:

   @Transactional
public void removeAll(){
    TypedQuery<anObject> query = em.createQuery(
            "DELETE FROM tableName",
            anObject.class);
    query.executeUpdate();
}

09-04 20:51