У меня возникла проблема при попытке инициализировать список объектов в Hibernate (Hibernate.initialize ()) параллельно, инициализация одного объекта занимает слишком много времени, поэтому я подумал, что могу использовать преимущества параллелизма в моем случае.
Я пытался использовать parallelStream (), но время выполнения не изменилось, и кажется, что у меня нет параллельного выполнения.
public Collection<MyType> getResults(multipleObjectsToBeInitialized) {
List<MyType> result = multipleObjectsToBeInitialized
.parallelStream()
.filter(myObject -> acceptObject(myObject))
.map(myObject -> {
Hibernate.initialize(myObject);
return myObject;
})
.collect(Collectors.toList());
}
Обратите внимание, что этот метод вызывается другимс аннотацией @Transactional для управления транзакциями.