Clause "ORDER BY" pour une @NamedQuery "Objet.FindAll"?
Bonsoir,
Est-ce possible d'ajouter une clause ORDER BY à une
Code:
1 2
|
@NamedQuery(name = "Objet.findAll", query = "SELECT o FROM Objet o") |
?
Les listes d'objets retournées par les @NamedQuery sont affichées dans des ComboBox mais elles sont ordonnées par l'Id et pas par le "nom" des objets et je pense qu'un ordre alphabétique est préférable.
Dans les contrôleurs j'ai des méthodes qui me remplissent les combos
Code:
1 2 3 4
|
public SelectItem[] getItemsAvailableSelectOne() {
return JsfUtil.getSelectItems(ejbFacade.findAll(), false);
} |
et ce ne serait pas la fin du monde d'aller dans les 46 Facades de mon projet et d'écrire des requêtes
Code:
1 2 3 4 5
|
public List<Objet> findAllObjetOrderedByName() {
String jpql = "SELECT o FROM Objet o ORDER BY o.nom ASC";
return em.createQuery(jpql).getResultList();
} |
pour les utiliser par la suite
Code:
1 2 3
|
public SelectItem[] getItemsAvailableSelectOne() {
return JsfUtil.getSelectItems(ejbFacade.findAllObjetOrderedByName(), false); |
mais je voudrais éviter ça si possible.
Merci!