Ich verwende Spring Data JPA und frage mich, ob es möglich ist, die Standardsortierreihenfolge für eine Entität zu ändern, die von der Spring Data findAll()
-Methode verwendet wird.
Sie sollten dazu in der Lage sein, entweder:
in spring-data 1.5+ überschreiben Sie die findAll () - Methode in Ihrem Interface, fügen Sie die @Query-Annotation hinzu und erstellen Sie eine benannte Query in Ihrer Entity-Klasse, wie zum Beispiel unten:
Entität
@Entity
@NamedQuery(name = "User.findAll", query="select u from User u order by u.address.town")
public class User{
}
Repository
public interface UserRepository extends ... <User, Long> {
@Override
@Query
public Iterable<User> findAll();
}
oder,
erstellen Sie eine benutzerdefinierte Repository-Implementierung:
Sie können dies wie folgt erreichen:
dao.findAll(new Sort(Sort.Direction.DESC, "<colName>"));
Ein anderer Weg, das gleiche zu erreichen. Verwenden Sie den folgenden Methodennamen:
findByOrderByIdAsc()
Verwenden Sie stattdessen ein PagingAndSortingRepository . Damit können Sie einen queryparameter? Sort =, hinzufügen.
Repository:
public interface UserRepository extends PagingAndSortingRepository<User, Long> {
//no custom code needed
}
GET-Anfrage:
localhost:8080/users?sort=name,desc