@Override
    public int update(Object obj) {
        int changedRows = -1;
        
        Connection connection = this.initTransaction();
        if(connection != null){
            changedRows = executeUpdate(createUpdateCmd(obj), connection);//insere turma
            Turma turma = (Turma)obj;
            //Se turma foi atualizada e há docentes, tenta atualizar referencia a docentes
            if(changedRows > 0 && turma.getDocentes() != null && turma.getDocentes().size() > 0){
                //deleta referencias anteriores
                executeUpdate(createDeleteTurmaDocenteCmd(turma), connection);
                //insere novas
                return changedRows + executeUpdate(createInsertTurmaDocenteCmd(turma), connection);
            }
            this.commitTransaction(connection);
        }
        
        return changedRows;
    }