Transacional e Stream na primavera

Eu tento entender por que esse código não funciona

No componente:

@PostConstruct
public void runAtStart(){

    testStream();
}

@Transactional(readOnly = true)
public void testStream(){
    try(Stream<Person> top10ByFirstName = personRepository.findTop10ByFirstName("Tom")){
        top10ByFirstName.forEach(System.out::println);
    }
}

E repositório:

public interface PersonRepository extends JpaRepository<Person, Long> {
    Stream<Person> findTop10ByFirstName(String firstName);
}

Eu recebo:

org.springframework.dao.InvalidDataAccessApiUsageException: você está tentando executar um método de consulta de streaming sem uma transação circundante que mantenha a conexão aberta para que o Stream possa realmente ser consumido. Verifique se o código que consome o fluxo usa @Transactional ou qualquer outra maneira de declarar uma transação (somente leitura).

questionAnswers(1)

yourAnswerToTheQuestion