Pour rappel, les EJB3 sont le résultat du mariage entre les EJB2 et Hibernate et XDoclet Hibernate Annotation.

Lorsque les développeurs travaillent avec Hibernate, ils prennent vite l’habitude d’utiliser le HQL pour les requêtes statiques et l’API Criteria pour les requêtes dynamiques[1]. Cependant, le passage d’Hibernate aux EJB3 Entities provoque quelques frustrations. En effet, mis à part le JPQL[2] qui est l’équivalent du HQL chez Hibernate, il n’y a aucune API pour générer dynamiquement des requêtes sur les EJB3 Entities ! :-/

Faut-il attendre les EJBs 3.1 ou 4 ? Au moins de quelqu’un nous sorte de son chapeau une petite API Criteria pour les EJB3… 😉

Notes

[1] Comme expliqué dans le comparatif SQL, HQL et API Criteria.

[2] Pour lequel il existe un tutorial et une documentation de référence du langage.