@Override
    public Map<String, String> getCompra(Cliente cliente, Funcionario funcionario){
        Map<String, String> compra = new HashMap<>();
        try{
            conn = ConnectionFactory.getConnection(); 
            String sql = "SELECT to_char(datacompra, 'dd/mm/yyyy') as datacompra, secao.nome as nome FROM compra, ingresso, secao " +
                          "WHERE compra.idingresso = ingresso.id " +
                            "AND ingresso.idsecao = secao.id " +
                            "AND idfuncionario IN (SELECT id FROM funcionario WHERE cpf LIKE ?) " +
                            "AND idcliente IN (SELECT id FROM cliente WHERE cpf LIKE ?)";
            ps = conn.prepareStatement(sql);
            ps.setString(1, funcionario.getCpf());
            ps.setString(2, cliente.getCpf());
            rs = ps.executeQuery();
            while(rs.next()){
                String datacompra = rs.getString("datacompra");
                String secao = rs.getString("nome"); 
                compra.put(datacompra, secao); 
            } 
            
        } catch (SQLException e){
                throw new RuntimeException("Erro " + e.getSQLState()
                                           + " ao atualizar o objeto: " 
                                           + e.getLocalizedMessage());
        } catch (ClassNotFoundException e){
                throw new RuntimeException("Erro ao conectar ao banco: "
                                         + e.getMessage()); 
        } finally {
            close();
        } 
        return compra;
    }