代码之家  ›  专栏  ›  技术社区  ›  alfredopacino

批量删除时当前没有活动的事务

  •  0
  • alfredopacino  · 技术社区  · 7 年前

    我不知道这里有什么问题。我试图批量删除一些实体,我得到的标题错误。

    我使用arjuna作为jta管理器,而不是经典的entitymanager事务,因为 MyEntity 在2个不同的数据库上使用2个不同的entitymanager(在insert或select查询时,我在1个数据库上操作,然后在另一个数据库上使用@prepersist和@postload处理程序)。不过,不确定最后这句话是使用阿诸那的有效理由。

    javax.transaction.TransactionManager tx = com.arjuna.ats.jta.TransactionManager.transactionManager();
    try {
        tx.begin();
           Query query = DataManager.getInstance().getEntityManager().createQuery("DELETE FROM MyEntity WHERE e.type = :type");
    
           int deletedCount = query
                   .setParameter("type","Type1")
                   .executeUpdate();
        tx.commit();
    }
    
    0 回复  |  直到 7 年前
    推荐文章