java - 如何使用 JPA 更新带有 Google App Engine Java 的实体?

标签 java google-app-engine jpa

我正在尝试使用 JPA 和 Google App Engine 更新一个实体。我开始一个事务,检索要更新的实体,更改一些字段,调用持久化和提交。一切都在没有任何错误的情况下执行,但是,实体没有被修改。

示例代码如下:

EntityTransaction tx = entityManager.getTransaction();
try {
        tx.begin();
        DomainName domain = entityManager.find(DomainName.class, domainName);
        domain.setExists(body != null);
        domain.setHttpBody(body);
        domain.setHttpTimeStamp(new Date());
        entityManager.persist(domain);
        tx.commit();
} finally {
        if (tx.isActive()) {
                tx.rollback();
        }
}

我应该怎么做才能使用 JPA 持久化实体?

最佳答案

不知道 persist() 调用在做什么,因为对象(如果找到了,你没有告诉我们)将处于托管状态,因此字段的第一次更新将对象标记为脏,并将在 commit() 调用上提交。显然,对日志的简单检查会告诉您发生了什么。

关于java - 如何使用 JPA 更新带有 Google App Engine Java 的实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8373796/

相关文章:

java - Hibernate 中 setCalendar 和 setCalendarDate 有什么区别?

mysql - MySQL可以将外部数据库复制到云吗

java - 复合键和多对一

java - JPA Query 仅选择特定列而不使用 Criteria Query?

java - JPA CAN_NOT_JOIN_TO_BASIC

java - 如何在 MongoDB Java 驱动程序 3 中插入​​文档

java - 设置外观颜色

java - String.concat() 不进行连接

google-app-engine - 在 Google App Engine 中更新模型模式?

django - 使用 Django View 处理 blobstore 上传