У меня есть некоторые сомнения относительно функции, которая обновляет несколько сущностей, но она выполняет одну за другой.Конечно, могут возникнуть проблемы с задержкой, если мы работаем с удаленной БД, но кроме этого я беспокоюсь, что мы можем получить исключение OutOfMemoryException из-за количества сущностей, которые мы обновляем в одной транзакции.Мой код выглядит примерно так, как показано ниже.
EntityHeader entityHeader = entityHeaderService.findById(id);
for(EntityDetail entityDetail : entityHeader.getDetails()) {
for(Entity entity : entityDetail.getEntities()) {
entity.setState(true);
entityService.update(entity);
}
}
Это пример, и у нас также есть похожий случай в другом методе, но со вставками вместо.Эти методы могут обновлять или вставлять до 2 000 или 3 000 объектов в одной транзакции.Поэтому мой вопрос заключается в том, должны ли мы начать использовать пакетные операции или количество объектов недостаточно велико, чтобы беспокоиться об этом?Кроме того, будет ли он работать лучше, если сделать с помощью пакетной операции?