Я реализовал следующую кодовую часть: < /p>
public void computeAllBilling() {
orderRepository.getAll().parallel().forEach(ordreEntity -> {
Billing billing = computedBilling(orderEntity);
billingRepository.save(billing);
entityManager.detach(ordreEntity);
});
}
public interface BillingRepository extends JpaRepository {
@QueryHints(value = {
@QueryHint(name = org.hibernate.jpa.QueryHints.HINT_FETCH_SIZE, value = "1"),
@QueryHint(name = org.hibernate.jpa.QueryHints.HINT_CACHEABLE, value = "false"),
@QueryHint(name = org.hibernate.jpa.QueryHints.HINT_READONLY, value = "true")
})
@Query(value = "SELECT o.* FROM raw.ordre o", nativeQuery = true)
Stream getAll();
}
< /code>
Мне нужно очень быстро транслировать мое чтение из одной таблицы, но в нашей бизнес -обработке нам нужно сохранить счета в конечном /p>
Но следуя этой статьи «Двигая хакера»: Репозиторий. < /p>
Кто -нибудь знает, как я могу избежать следующей ошибки? «Попытка выполнить метод потокового запроса без окружающей транзакции, которая держит соединение открытым, чтобы поток мог фактически быть использован. Убедитесь, что код, потребляющий поток, использует @transactional или любой другой способ объявления (только для чтения) транзакции.
Подробнее здесь: https://stackoverflow.com/questions/636 ... -stream-in