Potrei ordinare in EJBQL da una funzione che non è associato a una colonna nel database?
Domanda
Vorrei ordinare una query da una funzione che utilizza le proprietà della classe. Qualcosa di simile:
@entity
class A
{
private int id;
private String name;
public int StringLength()
{
return name.length();
}
}
E la frase qualcosa come: select n from A order by name.StringLength()
. E 'possibile?
Soluzione
No non è possibile, ma se si desidera eseguire una query in base alla lunghezza di una delle proprietà è possibile utilizzare la funzione di lunghezza simile a SQL:
select n from A order by length(name)
Altri suggerimenti
La risposta di David aveva ragione - non è possibile chiamare la funzione - ma in EJBQL query dovrebbe essere simile a questo:
select n from A n order by length(n.name)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow