В данный момент ни одна транзакция не активна при массовом удалении - PullRequest
0 голосов
/ 10 января 2019

Я не уверен, в чем здесь проблема. Я пытаюсь массово удалить некоторые объекты, я получаю сообщение об ошибке в заголовке.

Я использую Arjuna в качестве менеджера JTA, а не классическую транзакцию EntityManager, потому что MyEntity использует 2 разных EntityManager на 2 разных дБ (по запросу 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();
}
...