public List<Employee> getEmployeesWithProjectCriteria(String projectName)
	{
		CriteriaBuilder builder = manager.getCriteriaBuilder();
		CriteriaQuery<Employee> critQuery = builder.createQuery(Employee.class);
		Root<Employee> root = critQuery.from(Employee.class);
		Subquery<Integer> projSq = critQuery.subquery(Integer.class);
		Root<Employee> sqRoot = projSq.correlate(root);
		Join<Employee, Project> sqEmpJoin = sqRoot.join("projects");
		
		projSq.select(builder.literal(1)).where(builder.equal(sqEmpJoin.get("name"), builder.parameter(String.class, "name")));
		critQuery.where(builder.exists(projSq));
		
		TypedQuery<Employee> query = manager.createQuery(critQuery);
		query.setParameter("name", projectName);
		
		return query.getResultList();
	}