JPA неверное слияние до или после цикла - PullRequest
0 голосов
/ 05 октября 2019

моя функция выглядит следующим образом:

@Transactional
void changeData(CardTO cardTO){
       List<CardTO> sameParentCards = cardFactory.getSameParentCards(cardTO.getParentId());

    cardTO.setArchived(true);
    entityManager.merge(cardTO);

    for(CardTO c: sameParentCards )
    {
       if(!c.getCardId.equals(cardTO.getCardId()))
       {
           c.setParentId(cardTO.getParentId());
           entityManager.merge(c);
           break;
       }
    } 
    }

, в котором метод "getSameCards" возвращает список родительского идентификатора cardTO с указанным идентификатором карты. Результат этой функции не сохраняет поле «Archived» в БД, но внутри цикла все правильно сохраняется. слияние после цикла также приводит к тому же результату! где моя ошибка?

1 Ответ

0 голосов
/ 06 октября 2019

Проблема не заключалась в получении объекта после сохранения его в одной транснациональной функции. Итак, я получил cardTO после объединения данных следующим образом:

cardTO.setArchived(true);
entityManager.merge(cardTO);
cardTO = cardFactory.getCardTO(cardTO.getId());
...