É obrigatório armazenar o resultado do execute ? já que no resto do código não é usado a variável 'resultado'? Poderia só usar o resultSet para executar a query?
Statement statement = connection.createStatement();
boolean resultado = statement.execute("select * from Produto");
ResultSet resultSet = statement.getResultSet();