我有一個使用Spring Boot 1.5.1和Spring Data Rest的數據庫服務。我將我的實體存儲在MySQL數據庫中,並使用Spring的PagingAndSortingRepository通過REST訪問它們。我發現this其中規定支持通過嵌套參數進行排序,但我找不到通過嵌套字段進行排序的方法。Spring Data Rest - 按嵌套屬性排序
我有這些類:
@Entity(name = "Person")
@Table(name = "PERSON")
public class Person {
@ManyToOne
protected Address address;
@ManyToOne(targetEntity = Name.class, cascade = {
CascadeType.ALL
})
@JoinColumn(name = "NAME_PERSON_ID")
protected Name name;
@Id
protected Long id;
// Setter, getters, etc.
}
@Entity(name = "Name")
@Table(name = "NAME")
public class Name{
protected String firstName;
protected String lastName;
@Id
protected Long id;
// Setter, getters, etc.
}
例如,在使用該方法時:
Page<Person> findByAddress_Id(@Param("id") String id, Pageable pageable);
並調用URI http://localhost:8080/people/search/findByAddress_Id?id=1&sort=name_lastName,desc,排序參數是完全由Spring忽略。
參數 sort = name.lastName and sort = nameLastName也沒有工作。
我是否在形成Rest請求錯誤或缺少一些配置?
謝謝!
name.lastName將是要使用的屬性。在Hopper版本中,通過嵌套屬性進行排序對我來說效果不錯,但我在Ingalls版本的RC版本中遇到了以下錯誤。據報道,這是固定的,但我沒有嘗試過。 https://jira.spring.io/browse/DATAREST-976?jql=text%20~%20%22sort%20nested%22%20ORDER%20BY%20created%20DESC –
@AlanHay你是'人',與我在降級到Hopper後發佈了' 1.10.10.RELEASE 2.5.10.RELEASE < spring.data.rest.webmvc.version>' –
@AlanHay順便說一句,我試過['v3.0.0.M3'](http://docs.spring.io/spring-data/rest/docs/3.0.0。 M3/changelog.txt)報告已修復但未與我合作。 –