Service
findById
import org.springframework.transaction.annotation.Transactional;
//como o service devolve um DTO para o controller,
//a função retornará um DTO
@Transactional(readOnly = true)
public ProductDto findById(Long id) {
//busca no banco de dados
Optional<Product> result = productRepository.findById(id);
//pegamos o objeto de cima
Product product = result.get();
//lembrar que no DTO foi criado um construtor
//específico para receber um Product
ProductDto dto = new ProductDto(product);
return dto;
}Atualizado