Comment utiliser la clause SQLLangage permettant de communiquer avec une base de données. ORDER BY avec Hibernate 4 ? C'est ce que nous vous proposons de voir dans cet article.
Comment utiliser la clause SQLLangage permettant de communiquer avec une base de données. 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.
Quelques années après avoir créé ce blog, nous nous sommes rendu compte d’une chose : nous ne nous sommes jamais présentés ! Grossière erreur de notre part… Cependant, « vaut mieux tard que jamais », alors on fait un petit rectificatif pour tenter de se r
Si vous faites du web depuis quelque temps, vous avez sûrement déjà utilisé des Websockets, et si c'est le cas, vous détestez sûrement ce protocole et son implémentation. Personnellement, je ne le trouve pas fiable, lourd à implémenter et pas du tout performant. C'est cette haine du Websocket qui m'a fait chercher de nouvelles solutions pour faire de la communication bilatérale entre un client et un serveur, et j'ai trouvé mon bonheur : le MQTT.