Potrei ordinare in EJBQL da una funzione che non è associato a una colonna nel database?

StackOverflow https://stackoverflow.com/questions/1715595

  •  19-09-2019
  •  | 
  •  

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?

È stato utile?

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
scroll top