Utilizzo Spring Data JPA e mi chiedo se è possibile modificare l'ordinamento predefinito per un'entità utilizzata dal metodo Spring Data findAll()
?Modifica l'ordinamento predefinito per il metodo findAll() Spring Data
risposta
si dovrebbe essere in grado di eseguire questa operazione:
in 1.5 + primavera-dati, sovrascrivendo il metodo findAll() nell'interfaccia, aggiungendo l'annotazione @query e la creazione di una query di nome nella classe di entità come, per esempio, di seguito:
Entity
@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();
}
o,
con la creazione di un'implementazione repository personalizzato:
È possibile raggiungere questo come segue:
dao.findAll(new Sort(Sort.Direction.DESC, "<colName>"));
Un altro modo per ottenere lo stesso. Utilizzare il nome del metodo seguito:
findByOrderByIdAsc()
Sì, questa sarebbe un'opzione. Tuttavia, mi piacerebbe che il metodo findAll() standard usasse un ordine specifico. Il motivo è che sto usando anche @Cacheable. –
Potresti provare questo nome di metodo - 'findByOrderByIdAsc()' – Mithun
Sì, ho capito che posso usare questo. Ma mi chiedo se sia possibile in generale impostare l'ordinamento predefinito per l'entità. Non credo. –
Utilizzare un PagingAndSortingRepository invece. Con questo in luogo è possibile aggiungere un queryparameter sorta =,
Repository:?
public interface UserRepository extends PagingAndSortingRepository<User, Long> {
//no custom code needed
}
richiesta GET:
localhost:8080/users?sort=name,desc
- 1. Spring data mongodb repository findAll field exclusion
- 2. Come disattivare il paging per JpaRepository in spring-data-rest
- 3. primavera metodo dati JPA findAll() con predicato - QueryDslPredicateExecutor
- 4. Spring Data JPA e NamedEntityGraphs
- 5. Spring Data REST: sovrascrive il metodo di repository sul controller
- 6. Come si modifica il widget predefinito per tutti i campi data di Django in un ModelForm?
- 7. Ambito predefinito servizio Spring
- 8. Spring Data Rest/Spring Hateoas Custom Controller - PersistentEntityResourceAssembler
- 9. Spring - metodo factory per Path
- 10. Modifica carattere JLabel predefinito
- 11. modifica comportamento predefinito operatore
- 12. Modifica colonna, aggiungi vincolo predefinito
- 13. modifica dell'URL phpmyadmin predefinito
- 14. Come si modifica il tipo predefinito per la deserializzazione numerica?
- 15. Utilizzo di Spring Security ACL con Spring Data REST
- 16. Modifica il carattere predefinito in Python Tkinter
- 17. Spring-data findFirstBy genera IncorrectResultSizeDataAccessException?
- 18. callback Ember-Data quando findAll terminato il caricamento di tutti i record
- 19. Come modificare il formato predefinito in StringToDate? Spring WebFlow
- 20. ElasticSearch Spring Data Il formato della data è sempre lungo
- 21. Spring Data JPA Fetching
- 22. Spring Boot + Spring Data con multi tenancy
- 23. Autenticazione con Spring Security + Spring data + MongoDB
- 24. Spring Boot: modifica segnaposto segnaposto di proprietà
- 25. Spring Data Rest - Soft Delete
- 26. play-quadro ottenere la data ultima modifica per il file
- 27. Come configurare il controllo tramite Java Config in Spring Data (e Spring Data Rest)?
- 28. modifica intervallo x predefinito in istogramma matplotlib
- 29. Overriding Primavera-Data-JPA metodo predefinito annotazione con EntityGraph provoca QueryException
- 30. Dove inserire il servlet-servlet predefinito nella configurazione Spring MVC
scrivere la propria interrogazione JPA per questo. –
@Andrei si ma vorrei evitarlo se possibile. –
Il findAll non ha alcun ordine applicato. Se vuoi cambiare questo, dovresti estendere 'SimpleJpaRepository' e sovrascrivere il metodo' findAll'. Vedi la sezione su [Aggiungere un comportamento personalizzato a tutti i repository] (http://docs.spring.io/spring-data/jpa/docs/1.7.2.RELEASE/reference/html/#repositories.custom-behaviour-for- all-repository). Puoi anche usarlo per sovrascrivere il comportamento predefinito. –