Bonjour,

Voici un bout de mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
    public List<Object> findAllGroupByLibelle(String libelle) {
 
        CriteriaBuilder criteriaBuilder = getEntityManager().getCriteriaBuilder();
        CriteriaQuery<Object> criteriaQuery = criteriaBuilder.createQuery();
        Root<Pays> from = criteriaQuery.from(Pays.class);
        CriteriaQuery<Object> select = criteriaQuery.select(from);
        select.orderBy(criteriaBuilder.asc(from.get( libelle )));
        TypedQuery<Object> typedQuery = getEntityManager().createQuery(select);
        List<Object> resultList = typedQuery.getResultList();
 
        return resultList;
    }
Juste une remarque dans mon esprit j'évite d'utiliser du JPQL (ce n'est ni de l'objet nit du SQL) je veux faire dans la continuité (faire de l'objet dans met classe) bref mais dans un but ce lui d'avoir met requête plus maintenable.

Exemple : si je change le nom d'un champ de ma Table, la requête Object reste valable. (Puisque je n'utilise pas un code brut sous forme de chaine de caractère)

Mais j'ai fait un test est sa a pas marcher (en pratique ces pas le cas ?! ou ces moi qui a mal fait une chose) ?