具有嵌套属性标准支持的 Spring Data TypedSort

问题描述

我正在尝试定义以下排序标准:

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();

无论如何,希望这会有所帮助,因为目前没有关于此特定案例的文档。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...