Это ошибка в справочной документации или что-то, что они забыли реализовать.
Как только вы вызываете .ascending () или .descending (), это Sort и больше не TypedSort.
Я полагаю, что TypedSort был протестирован / реализован только для использования в качестве «свободного» API:
Sort sort = Sort.sort(Person.class)
.by(Person::getAddress)
.by(Address::getZipCode)
.ascending()
.and(...)
Так что должно работать следующее, но это не похоже на документацию:
TypedSort<Person> person = Sort.sort(Person.class);
Sort sort = person.by(Person::getFirstname).ascending()
.and(person.by(Person::getLastname).descending());
repository.findAll(sort)