问题描述
我正在尝试定义以下排序标准:
TypedSort<Task> typedSort = Sort.sort(Task.class);
Sort typedSortCriteria = typedSort.by(task -> task.getAssignee().getLastName())
.descending();
但我收到编译异常:
The method by(Function<Task,String>) is ambiguous for the type Sort.TypedSort<Task>
是否可以定义嵌套的属性类型排序标准?
附注。我也向 Spring Data Commons 存储库提交了一个问题来澄清这一点:
https://github.com/spring-projects/spring-data-commons/issues/2380
解决方法
糟糕,看来我只需要显式地转换 Function
:
typedSort.by((Function<Task,String>) task -> task.getAssignee().getLastName())
.descending();
无论如何,希望这会有所帮助,因为目前没有关于此特定案例的文档。