Ошибка в удалении записей при увеличении нагрузки на сервер? - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть сводная таблица, которая имеет статус столбца. В таблице уже есть данные со статусом 1. Сначала я вставляю новые записи в таблицу со статусом, равным 0. Затем я удаляю старые записи со статусом 1 и, наконец, обновляюзаписи со статусом от 0 до 1. Работает нормально, когда нагрузка на сервер меньше, но когда нагрузка увеличивается, старые записи (статус 1) не удаляются, а новые записи (статус 0) вставляются и обновляются до 1.

Ниже приведены новые записи fow-

1.saveAndFlush со статусом 0.

2.deleteRecords ();

3.updateRecords ();

Запрос на удаление:

@Transactional
@Modifying
@Query(value = "DELETE FROM TableDataSummary  t where t.status=1")
public void deleteSummary();

А для обновления -

@Transactional
@Modifying
@Query(value = "Update TableDataSummary t  set t.status=1")
public   void updateSummary();

Это происходит случайным образом, как решить эту проблему.Спасибо.

1 Ответ

0 голосов
/ 25 сентября 2018

Я недавно столкнулся с чем-то подобным.Я должен был предоставить функциональность CRUD для манипулирования данными из базы данных.Я также использовал JPA, и для функциональности обновления я не использовал запрос на обновление непосредственно в своем репозитории.
Если это может помочь вам, я поделюсь своей идеей:
1. сохранить новые записи saveAndFlush со статусом 0.
2.deleteRecords ();
3. выполнить findAll () из вашего контроллерачтобы получить все данные (обычно вы должны получать только данные со статусом = 0, потому что вы только что удалили остальные со статусом = 1.)
4. создайте цикл, чтобы получить доступ ко всем данным результата результата«findAll ()»
5. внутри цикла вы должны установить «status» в «1» и вызвать «save ()» для каждого объекта.

И «save ()» автоматически обновит данные

надеюсь, что это поможет вам, в противном случае, возможно, я вас неправильно понял.

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