Как мне написать метод пакетного обновления при весенней загрузке - PullRequest
0 голосов
/ 04 октября 2019

вот метод, который мне нужен, чтобы обновить таблицу mysql списком DTO, я обновляю их один за другим, вот мой код:

@Override  
  @Transactional  
  public void updateCustomCategory(List<ItemDto> itemDtoList) {  
    if (CollectionUtils.isNotEmpty(itemDtoList)) {  
      for (ItemDto itemDto : itemDtoList) {  
        Long l1CustomCategoryId = itemDto.getL1CustomCatId();  
        Long l2CustomCategoyId = itemDto.getL2CustomCatId();  
        StringBuilder query =
                new StringBuilder(
                        "update ItemDto item set item.l1CustomCategoryId = :l1CustomCategoryId and item.l2CustomCategoryId = :l2CustomCategoyId where itemId = :itemId");  
        Query q = this.em.createQuery(query.toString());  
        q.setParameter("l1CustomCategoryId", l1CustomCategoryId);  
        q.setParameter("l2CustomCategoyId", l2CustomCategoyId);  
        q.setParameter("itemId", itemDto.getItemId());  
        q.executeUpdate();  
      }
    }
  }

Я хочу преобразовать его в пакетное обновление дляПоддерживайте хорошую производительность, если размер данных огромен. Как мне быть?

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