java - petri - Come ordinare per più proprietà nelle query derivate Spring Data(JPA)?




spring jparepository custom query (2)

Il trucco è semplicemente delimitare le proprietà che si desidera ordinare utilizzando le parole chiave di direzione Asc e Desc . Quindi quello che probabilmente vuoi nel tuo metodo di query è qualcosa del tipo:

…OrderByProgDateAscStartTimeAsc

Nota, come concludiamo la prima definizione di proprietà per Asc e continuiamo con la proprietà successiva.

In generale, consigliamo di passare alle query basate su @Query , una volta che i nomi dei metodi superano una certa lunghezza o complessità. La ragione principale è che è difficile per i clienti chiamare questi metodi molto lunghi. Con @Query si ottiene piuttosto la piena potenza del linguaggio di query più un nome di metodo di dimensioni ragionevoli che potrebbe essere di linguaggio di livello superiore per esprimere l'intento della query.

Sto guardando gli esempi che danno questa pagina ( http://docs.spring.io/spring-data/jpa/docs/current/reference/html/jpa.repositories.html ) sulla denominazione dei metodi, è possibile creare un nome di metodo a catena complesso come

findByProgrammeAndDirectorAndProgDateBetweenOrderByProgDateStartTimeAsc

Nell'esempio che danno, stanno facendo solo un ordine su un valore. Nell'esempio sopra ProgDate e StartTime sarebbero due valori separati.


Sì, dovrebbe essere possibile:

Prova questo:

findByProgrammeAndDirectorAndProgDateBetweenOrderByProgDateStartTimeAsc(String programme, String director, Date progStart, Date progEnd);

Non ho testato il codice, ma secondo le cose che ho già fatto, dovrebbe funzionare.







spring-data-jpa