3

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

我的第一次尝试是:

 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

有谁知道我能做些什么来解决?

4

1 回答 1

1

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

我忘记添加@Transactional符号了。

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

   @Transactional
public void removeAll(){
    TypedQuery<anObject> query = em.createQuery(
            "DELETE FROM tableName",
            anObject.class);
    query.executeUpdate();
}
于 2015-08-02T13:07:40.313 回答