public Set<IPersonAttributesGroupDefinition> getPersonAttributesGroupDefinitionByName(String name) {
CriteriaBuilder criteriaBuilder = this.getEntityManager().getCriteriaBuilder();
CriteriaQuery<PersonAttributesGroupDefinitionImpl> criteriaQuery =
criteriaBuilder.createQuery(PersonAttributesGroupDefinitionImpl.class);
Root<PersonAttributesGroupDefinitionImpl> root = criteriaQuery.from(PersonAttributesGroupDefinitionImpl.class);
ParameterExpression<String> nameParameter = criteriaBuilder.parameter(String.class);
criteriaQuery.select(root).where(criteriaBuilder.equal(root.get("name"), nameParameter));
TypedQuery<PersonAttributesGroupDefinitionImpl> query = this.getEntityManager().createQuery(criteriaQuery);
query.setParameter(nameParameter, name);
Set<IPersonAttributesGroupDefinition> groups = new HashSet<IPersonAttributesGroupDefinition>();
for (IPersonAttributesGroupDefinition group: query.getResultList()) {