class PageableCategoryRepositoryImpl implements PageableCategoryRepositoryCustom {

	@PersistenceContext
	private EntityManager em;
	@SuppressWarnings("unchecked")
	@Override
	public Page<Category> listByStore(Integer storeId, Integer languageId, String name, Pageable pageable) {<FILL_FUNCTION_BODY>}

}

	  Query query = em.createNamedQuery("CATEGORY.listByStore");
	  Query countQueryResult = em.createNamedQuery("CATEGORY.listByStore.count");
	  query.setParameter(1, storeId);
	  query.setParameter(2, languageId);
	  query.setParameter(3, name == null ? "" : name);
	  query.setMaxResults(pageable.getPageSize());
	  query.setFirstResult(pageable.getPageNumber() * pageable.getPageSize());
		return new PageImpl<Category>(
				query.getResultList(),
				pageable,
				countQueryResult.getMaxResults());
	
<no_super_class>