criteria.addEqualTo("executionDegree.academicYear", executionYearID);
criteria.addEqualTo("executionDegree.keyExecutionYear", executionYearID);
	public List readCandidateList(Integer executionDegreeID, Specialization degreeType,			SituationName candidateSituation, Integer candidateNumber, Integer executionYearID)			throws ExcepcaoPersistencia {		Criteria criteria = new Criteria();		if (executionDegreeID == null && degreeType == null && candidateSituation == null				&& candidateNumber == null) {			criteria.addEqualTo("executionDegree.academicYear", executionYearID);			return queryList(MasterDegreeCandidate.class, criteria);		}		if (executionDegreeID != null) {			criteria.addEqualTo("executionDegree.idInternal", executionDegreeID);		}		if (degreeType != null) {			criteria.addEqualTo("specialization", degreeType);		}		if (candidateNumber != null) {			criteria.addEqualTo("candidateNumber", candidateNumber);		}		if (candidateSituation != null) {			criteria.addEqualTo("situations.situation", candidateSituation.getSituationName());			criteria.addEqualTo("situations.validation", new Integer(State.ACTIVE));		}		return queryList(MasterDegreeCandidate.class, criteria);	}