为什么JPA-Query删除导致com.objectdb TransactionRequiredException的实体?

时间:2015-08-02 12:58:36

标签: java jpa objectdb

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

我的第一次尝试是:

 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

任何人都知道我能做些什么来解决?

1 个答案:

答案 0 :(得分:1)

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

我忘了添加@Transactional符号。

最终的代码段如下:

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