【问题标题】:Why is JPA-Query to delete Entities resulting in a com.objectdb TransactionRequiredException?为什么 JPA-Query 删除实体会导致 com.objectdb TransactionRequiredException?
【发布时间】:2015-10-24 15:56:45
【问题描述】:

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

我的第一次尝试是:

 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 符号。

标签: java jpa objectdb


【解决方案1】:

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

我忘记添加@Transactional 符号。

最终的代码sn-p如下:

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

【讨论】:

    猜你喜欢
    • 2019-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    • 1970-01-01
    相关资源
    最近更新 更多