После возникновения этого исключения все другие запросы не выполняются «другой объект с таким же значением идентификатора уже был связан с сеансом» - PullRequest
0 голосов
/ 21 марта 2019

После возникновения этого исключения все остальные запросы не выполняются - «другой объект с таким же значением идентификатора уже был связан с сеансом».

  • javax.persistence.EntityExistsException: другой объект с тем же значением идентификатора уже был связан с сеансом: [com.dventus.common.user.User # rp_test_user1] 2019-03-21 10: 56: 44,370 19749 [http-nio-8080-exec-24] INFO com.atomikos.jdbc.AtomikosConnectionProxy - прокси-соединение для подключения atomikos для com.mysql.jdbc.jdbc2.optional.JDBC4ConnectionWrapper@7fc183ea: вызов откатить ... 2019-03-21 10: 56: 44,370 19749 [http-nio-8080-exec-24] INFO com.atomikos.jdbc.AtomikosConnectionProxy - прокси-соединение для подключения atomikos для com.mysql.jdbc.jdbc2.optional.JDBC4ConnectionWrapper@7fc183ea: вызов setAutoCommit ...

Код для добавления моей сущности:

public MDMResponse process(MDMRequest mdmRequest)  throws Exception {
    MDMResponse mdmResponse = null;
    AddProcessor.logger.info("\n Request recieved "+mdmRequest.toString());
    final EntityManager entityManager = this.getContext().getEntityManager();
    try {
        final Object entity = this.getContext().getMapper().toEntity(mdmRequest);
        AddProcessor.logger.debug("The entity found is "+entity.getClass().getName());
        entityManager.persist(entity);
        mdmResponse = new MDMResponse(ResponseStatus.OK, Messages.SAVE_SUCCESS);
        AddProcessor.logger.debug(mdmResponse.toString());
    }

    catch (final Exception e) {
        AddProcessor.logger.error(e);
        mdmResponse = new MDMErrorResponse(ResponseStatus.ERROR, Messages.SAVE_ERROR,Catagory.SAVE,Code.ONE,Severity.normal);
    }

    return mdmResponse;
}

1 Ответ

0 голосов
/ 21 марта 2019

Добавьте этот код после перехвата и проверьте

    finally {
        entityManager.close();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...