0

我在这里遇到了奇怪的事情。我在数据存储区 Google App Engine 中将 JPA 用于 CRUD 流程。我使用事务来编辑和删除某些实体,但它在我的开发机器上运行良好,但它在生产中不起作用,甚至在我的生产日志中没有显示任何错误。这是我的一段代码:

public boolean removeBalance(long id) {
    EntityManager em = EMFService.get().createEntityManager();
    try {
        Balance balance = em.find(Balance.class, id);
        if (balance!= null) {
            em.getTransaction().begin();
            em.remove(balance);
            List<Balance> listBalance=listBalance(balance.getUrut());
            for(int i=0;i<listBalance.size();i++){
                //update some entity            
            }
            em.getTransaction().commit();
            return true;
        } else {
            return false;
        }
    } catch (Exception e) {
        em.getTransaction().rollback();
        e.printStackTrace();
        return false;
    } finally {
        em.close();
    }
}

日志只显示:

2013-04-19 23:33:56.980 (link here) 200 259ms 20kb Mozilla/5.0 (Windows NT 6.1)     AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31
139.0.82.222 - - [19/Apr/2013:09:33:56 -0700] "POST 

我在我的代码中犯了错误吗?

更新 :

如果它在事务中更新超过 5 条记录,它就无法正常工作,感谢@DataNucleus 通知我这是来自 Google App Engine 的限制。

4

0 回答 0