我正在尝试使用 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/