package fr.openwide.core.test.jpa.security.business.person.dao; import java.util.List; import org.springframework.stereotype.Repository; import com.querydsl.jpa.JPQLQuery; import com.querydsl.jpa.impl.JPAQuery; import fr.openwide.core.jpa.exception.SecurityServiceException; import fr.openwide.core.jpa.exception.ServiceException; import fr.openwide.core.jpa.security.business.person.dao.GenericUserGroupDaoImpl; import fr.openwide.core.test.jpa.security.business.person.model.MockUser; import fr.openwide.core.test.jpa.security.business.person.model.MockUserGroup; import fr.openwide.core.test.jpa.security.business.person.model.QMockUser; import fr.openwide.core.test.jpa.security.business.person.model.QMockUserGroup; @Repository("mockPersonGroupDao") public class MockUserGroupDaoImpl extends GenericUserGroupDaoImpl<MockUserGroup, MockUser> implements IMockUserGroupDao { @Override public List<MockUser> listUsersByUserGroup(MockUserGroup group) throws ServiceException, SecurityServiceException { JPQLQuery<MockUser> query = new JPAQuery<>(getEntityManager()); query.from(QMockUser.mockUser).join(QMockUser.mockUser.groups, QMockUserGroup.mockUserGroup) .where(QMockUserGroup.mockUserGroup.eq(group)); List<MockUser> result = query.distinct().fetch(); sort(result); return result; } }