@Override
    public void salvar(Secao secao, Evento evento){
        try {
            conn = ConnectionFactory.getConnection();
            String sql = "INSERT INTO ingresso (id, idsecao) " 
                       + "VALUES ((SELECT NVL(MAX(id),0)+1 FROM ingresso)"
                       + ",(SELECT secao.id "
                       +     "FROM secao "
                       +     "JOIN evento ON secao.idevento = evento.id "
                       +    "WHERE secao.nome LIKE ? AND evento.nome LIKE ?))";
            ps = conn.prepareStatement(sql);            
            ps.setString(1, secao.getNome());
            ps.setString(2, evento.getNome());
            ps.executeUpdate();
        } catch(SQLException e){
            throw new RuntimeException("Erro " + e.getSQLState()
                                       + " ao atualizar objeto: "
                                       + e.getLocalizedMessage()); 
        } catch (ClassNotFoundException e) {
            throw new RuntimeException("Erro ao conectar no banco: "
                                       + e.getMessage());
        } finally {
            close();
        }
    }