Ho bisogno di inviare una query per recuperare i valori che ha un gruppo specifico di caratteri come segue:Come ordinare risultato di ibernazione in base a un ordine specifico
Diciamo Sono interessato a 'XX' quindi dovrebbe cercare per ogni campo il suo valore inizia con 'XX' o ha 'XX' (spazio XX). Ad esempio XXCDEF
, PD XXRF
e CMKJIEK XX
sono risultati validi.
Ho seguente query che restituisce i risultati corretti, ma ho bisogno di ordinarli in un modo che prima tornare quelli con XX
all'inizio poi altri risultati. Come segue:
XXABCD
XXPLER
XXRFKF
AB XXAB
CD XXCD
ZZ XXOI
POLO XX
Codice
Criteria criteria = session.createCriteria(Name.class, "name")
.add(Restrictions.disjunction()
.add(Restrictions.ilike("name.fname", fname + "%"))
.add(Restrictions.ilike("name.fname", "%" + " " + fname + "%"))
)
.setProjection(Projections.property("name.fname").as("fname"));
List<String> names = (List<String>) criteria.list();
Non so quale ordine passi dalla riga 4 alla riga 7? – Jegg
@Jegg Dovrei mostrare il gruppo di stringhe che hanno XX all'inizio. Il resto (riga 4 a riga7) può essere quello che ha XX (spazio XX) nel mezzo seguito da quelli che hanno XX (spazio XX) alla fine, un'altra opzione è applicare l'ordine alfabetico una riga da 4 a 7. – Jack
Perché no ordinali in java una volta recuperati i risultati? –