Spring Transaction и ParalellStream - PullRequest
       18

Spring Transaction и ParalellStream

0 голосов
/ 04 января 2019

У меня есть несколько вопросов о транзакции / сеансе / соединении JDBC / транзакции базы данных.

Пример: («Транзакция» и «ParallelStream»)

public loadProductList( List<Integer> productIdList ) {
  List<Product> productList = new ArrayList<>();
  productIdList.parallelstream().forEash( productId -> {
     // load Product data from Database
     Product Product = productService.getProductById( productId );
     ......
     productList.add( product );
  }
}

1 - Какой метод должен быть транзакционным: «loadProductList» или «getProductById»?

2 - Можно ли выполнять параллельные запросы SQL только с одной транзакцией?

или мы должны использовать Транзакцию / Запрос?

3 - Отношение между:

  • Транзакция <-> Сессия: 1-n или 1-1?
  • Сеанс <-> JDBC-соединение: 1-n или 1-1?
  • Соединение JDBC <-> Транзакция базы данных: 1-n или 1-1?
...