Как обновить сущность с помощью Google App Engine Java с помощью JPA? - PullRequest
2 голосов
/ 04 декабря 2011

Я пытаюсь обновить объект, используя 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?

1 Ответ

2 голосов
/ 04 декабря 2011

Понятия не имею, что делает вызов persist (), поскольку объект (если он найден, о чем вы нам не говорите) будет в управляемом состоянии, следовательно, первое обновление поля помечает объект как грязный и будетбыть совершенным на вызове commit ().Очевидно, что простая проверка журнала скажет вам, что происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...