Это в основном противоположное: Как выполнить запрошенный запрос QueryDSL с помощью Spring JPA?
Это для пользовательского запроса, для которого я не могу использовать какие-либо методы findAll().
EDIT:
Неправильная ссылка. Теперь исправлено.
Это в основном противоположное: Как выполнить запрошенный запрос QueryDSL с помощью Spring JPA?
Это для пользовательского запроса, для которого я не могу использовать какие-либо методы findAll().
EDIT:
Неправильная ссылка. Теперь исправлено.
Вы можете сделать что-то вроде этого: но не забудьте обрезать o.getProperty(), поэтому вы передаете только свойство, а не "псевдоним". + свойство
    if (pageable != null) {
                query.offset(pageable.getOffset());
                query.limit(pageable.getPageSize());
                for (Sort.Order o : pageable.getSort()) {
                    PathBuilder orderByExpression = new PathBuilder(Object.class, "object");
                    query.orderBy(new OrderSpecifier(o.isAscending() ? com.mysema.query.types.Order.ASC
                            : com.mysema.query.types.Order.DESC, orderByExpression.get(o.getProperty())));
                }
            }
		Я не знаю, насколько это актуально, но есть реализация в spring данных jpa для выполнения преобразования между объектом data.domain.Sort(Spring JPA) в OrderSpecifier (QueryDSL).
GIT Источник поддержки Querydsl в spring JPA
Это действительно уродливая реализация, но вы все равно можете использовать ее для своей цели, поскольку метод является закрытым:
public JPQLQuery applySorting(Sort sort, JPQLQuery query)
Но если вы используете данные JPA spring в своей пользовательской реализации Репозитория, вам просто нужно сделать:
public Page<MyObject> findAll(Predicate predicate, Pageable pageable) {
    QMyObject myObject = QMyObject.myObject;
    JPQLQuery jPQLQuery = from(myObject)
            .join(myObject.user)
            .where(predicate);
    jPQLQuery = getQuerydsl().applyPagination(pageable, jPQLQuery);
    List<MyObject> myObjectList = jPQLQuery.list(myObject);
    long count =  jPQLQuery.count();
    Page<MyObject> myObjectPage = new PageImpl<MyObject>(myObjectList, pageable, count);
    return myObjectPage;  
}
Надеюсь, это поможет!
 org.springframework.data.domain.Sort.Order и com.querydsl.core.types.Order и настолько похожи, но между ними нет простого преобразования. Это несколько улучшенная версия ответа frozenfury:
PathBuilder<Entity> entityPath = new PathBuilder<>(Entity.class, "entity");
for (Order order : pageable.getSort()) {
    PathBuilder<Object> path = entityPath.get(order.getProperty());
    query.orderBy(new OrderSpecifier(com.querydsl.core.types.Order.valueOf(order.getDirection().name()), path));
}