Ich habe einen Datenbankservice mit Spring Boot 1.5.1 und Spring Data Rest. Ich speichere meine Entitäten in einer MySQL-Datenbank und stufe sie über REST mit PagingAndSortingRepository von Spring ab. Ich fand this, die besagt, dass die Sortierung nach verschachtelten Parametern unterstützt wird, aber ich kann keine Möglichkeit finden, nach verschachtelten Feldern zu sortieren.Spring Data Rest - nach verschachtelter Eigenschaft sortieren
Ich habe diese Klassen:
@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.
}
Wenn zum Beispiel unter Verwendung des Verfahrens:
Page<Person> findByAddress_Id(@Param("id") String id, Pageable pageable);
Und Aufruf der URI http://localhost:8080/people/search/findByAddress_Id?id=1&sort=name_lastName,desc wird die Sortierparameter von Spring völlig ignoriert.
Die Parameter sort = name.lastName und sort = nameLastName auch nicht funktioniert.
Bilde ich die Ruheanforderung falsch oder fehlt eine Konfiguration?
Vielen Dank!
name.lastName wäre die zu verwendende Eigenschaft. Das Sortieren nach verschachtelten Eigenschaften funktioniert für mich in der Hopper-Version gut, aber ich habe den folgenden Fehler in einer RC-Version der Ingalls-Version festgestellt. Dies wird als behoben gemeldet, aber ich habe es nicht versucht. https://jira.spring.io/browse/DATAREST-976?jql=text%20~%20%22sort%20nested%22%20ORDER%20BY%20created%20DESC –
@AlanHay Sie sind der 'Mann', arbeiten mit Ich nach dem Downgrade auf Hopper Release ' 1.10.10.RELEASE 2.5.10.RELEASE spring.data.rest.webmvc.version> ' –
@AlanHay Übrigens habe ich [' v3.0.0.M3'] (http://docs.spring.io/spring-data/rest/docs/3.0.0. M3/changelog.txt), die das gemeldet haben, aber nicht mit mir arbeiten. –