я запускаю метод (асинхронный) для сохранения объекта (JPA), но он не работает, без исключения - PullRequest
0 голосов
/ 25 апреля 2019

в методе, я хочу сохранить объект или обновить сущность, и в то же время я должен сохранить другую сущность (она используется для некоторой статистики) , потому что второй метод не касается моей основной деятельности, поэтому я провожу его через асинхронный. но, наконец, я обнаружил, что метод async не сохраняет мою сущность в БД. так невероятно, нет исключения. PS, я использую Spring-Data-JPA, чтобы сохранить свою сущность и когда я скачал исходный код jpa для его отладки, я обнаружил, что он действительно запускает метод persist (в jpa save method). так что же случилось ? пожалуйста

  1. Я пытаюсь асинхронно вызвать другой сервис, чтобы сохранить что-то, это успешно
  2. Я пытаюсь обменять save на saveandflush, но это не сработало
  3. Я пытаюсь сделать эти два метода в транзакции, но она тоже не удалась
{
CompletableFuture.runAsync(()->
statisticService.saveOrUpdateStatisticInfo(questionRecordPO.getLessonId(),
                                           questionRecordPO.getCourseId(),
                                           questionRecordPO.getQuestionId(),
                                           correct));
examRecordDAO.save(examRecord);

}


CourseAnswerStatistic courseAnswer = courseAnswerStatisticDAO.findByLessonIdEqualsAndElementIdAndQuestionId(lessonId, elementId, questionId);
CourseAnswerStatistic saveParam = new CourseAnswerStatistic();
saveParam.setLessonId(lessonId);
courseAnswerStatisticDAO.save(saveParam);

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