Comment utiliser la clause SQL ORDER BY avec Hibernate 4 ? C'est ce que nous vous proposons de voir dans cet article.
Comment utiliser la clause SQL ORDER BY avec Hibernate 4 ?
Si vous savez faire une requête simple avec Hibernate 4, la mise en place d’ORDER BY est très simple. Elle passe par deux méthodes :
Exemple : la liste des commandes triées par prix décroissant :
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<
Commande> criteriaQuery = builder.createQuery(Commande.class);
Root<
Commande> root = criteriaQuery.from(Commande.class);
criteriaQuery.select(root);
criteriaQuery.orderBy(builder.desc(root.get(Commande_.montantTTC)));
TypedQuery<
Commande> typedQuery = entityManager.createQuery(criteriaQuery);
List<
Commande> result = typedQuery.getResultList();
Si à l’inverse vous voulez trier par ordre croissant, il suffit de remplacer la méthode desc() par la méthode asc().
Si votre clause ORDER BY porte sur plusieurs champs, la fonction orderBy() possède un deuxième prototype qui prend en paramètre une collection de javax.persistence.criteria.Order.
Exemple : commandes triées par jour croissant puis par prix décroissant :
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<
Commande> criteriaQuery = builder.createQuery(Commande.class);
Root<
Commande> root = criteriaQuery.from(Commande.class);
criteriaQuery.select(root);
List<
Order> orders = new ArrayList<
Order>();
orders.add(builder.asc(root.get(Commande_.date)));
orders.add(builder.desc(root.get(Commande_.montantTTC)));
criteriaQuery.orderBy(orders);
TypedQuery<
Commande> typedQuery = entityManager.createQuery(criteriaQuery);
List<
Commande> result = typedQuery.getResultList();
Dans cet article, nous allons plonger dans le monde d'Hibernate 6, en commençant par reprendre les bases d’Hibernate et ses principaux concepts. Nous explorerons ensuite les nouveautés et les améliorations apportées par Hibernate 6.
En tant que DSI ou décideur IT, vous avez forcément déjà été confronté à ce choix d'engagement pour votre projet IT : forfait ou régie ? Deux manières bien différentes de travailler avec un prestataire informatique, et deux logiques qui ont chacune leurs avantages… et leurs limites ! Et dans un monde où les entreprises et les DSI doivent voguer en permanence entre maîtrise du budget, agilité opérationnelle et garantie de résultat, ce n'est pas toujours simple de faire le bon choix. Qu'impliquent ces deux modes d'engagement de projet, existe-t-il d'autres modèles plus souples et comment trancher en fonction de votre contexte ? C'est la question du jour !
On vous en dit plus sur le nouveau projet de JetBrains, Kotlin Multiplatform Mobile.