Я не знаю, актуально ли это, но в jpa данных Spring есть реализация для преобразования между объектом data.domain.Sort (Spring JPA) и OrderSpecifier (QueryDSL).
Поддержка GIT-источника Querydsl в Spring JPA
Это действительно уродливая реализация, но вы все равно можете повторно использовать ее для своих целей, поскольку метод является закрытым:
public JPQLQuery applySorting(Sort sort, JPQLQuery query)
Но если вы используете Spring data JPA в своей пользовательской реализации репозитория, вам просто нужно сделать:
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;
}
Надеюсь, это могло помочь!
person
Community
schedule
03.03.2014