criteria.addEqualTo( "associatedCurricularCourses.scopes.curricularSemester.semester", executionPeriod.getSemester());
	public List readByExecutionPeriodAndExecutionDegreeAndCurricularYearAndName(		IExecutionPeriod executionPeriod,		ICursoExecucao executionDegree,		ICurricularYear curricularYear,		String executionCourseName)		throws ExcepcaoPersistencia	{		Criteria criteria = new Criteria();		if (executionCourseName != null && !executionCourseName.equals(""))		{			criteria.addLike("nome", executionCourseName);		}		if (curricularYear != null)		{			criteria.addEqualTo(				"associatedCurricularCourses.scopes.curricularSemester.curricularYear.idInternal",				curricularYear.getIdInternal());		}		if (executionDegree != null)		{			criteria.addEqualTo(				"associatedCurricularCourses.scopes.curricularCourse.degreeCurricularPlan.idInternal",				executionDegree.getCurricularPlan().getIdInternal());		}		criteria.addEqualTo("keyExecutionPeriod", executionPeriod.getIdInternal());		List temp = queryList(ExecutionCourse.class, criteria, true);		return temp;		//		return queryList(DisciplinaExecucao.class, criteria, true);	}