Cayenne dans l’incubator d’Apache

Cayenne devient un top level project d’Apache. Ce framework d’ORM inspiré d’EOF d’Apple n’a rien à envier à Hibernate et est surement mieux adapté pour les applications orientées desktop. L’architecture d’EOF que l’on retrouve dans Cayenne a déjà montré ses preuves, si la communauté s’agrandit ce framework peut devenir un serieux concurrent d’Hibernate. La version 3.0 actuellement en alpha implémentera JPA.

4 réflexions sur « Cayenne dans l’incubator d’Apache »

  1. Intéressant tout ça Sébastien, je ne savais pas que Cayenne avait continué à évoluer. Comme beaucoup je ne suis toujours pas séduit par Hibernate, et cela depuis le début : gestion hasardeuse des relations bidirectionnelles, des collections (mapping généré par les outils peu convainquants), nommage des types de mapping peu évident/toplink, refresh pas récursif (impact du lazy pas facilement identifiable), bugs dans les criteria (notamment pour forcer le refresh), Criteria introduits tardivement (qui représente le vértitable mode d’emploi attendu, comme dans toplink, le HQL étant une abérration, hors cas d’optimisations), trop facile de se retrouver bloqué ou avec des erreurs pour des cas pourtants simples (orde d’enregistrement des objets, etc.), des doutes sur la présence des 3 caches (working, original et partagé) pour la syncrho… Sinon bravo pour ton blog, j’aime bien la photo, le menu et l’aération dans la zone inférieure (pas surchargé comme le mien) !

  2. merci Jérôme 😉

    Concernant Hibernate je suis moins critique, d’accord pour les criterias et les problemes de lazy, mais je reste un adepte du HQL. Je viens d’utiliser la Grid du Nebula project d’Eclipse pour afficher les disponibilités des stages de natations de l’école de voile pour laquelle j’ai développé une application RCP et sans HQL j’aurais du descendre au SQL brut. Mais au fond tu as raison c’est surtout une facilité de codage, on devrait être en mesure de faire aussi simple avec des Criterias, comme on le fait avec des EOQualifier d’EOF ou des Expression/Query de Cayenne.

  3. Tout à fait d’accord, j’ai utilisé le HQL pour faire des outer join tout en limitant la compexité du code (plus simple que du SQL°, les Criteria étant encore buggés dans la gestion des left outer join. En plus en passant par le HQL on est assuré que les objets sont bien tous rafraîchis dans le cache (et pas seulement l’objet racine comme c’est le cas avec le refresh()). Disons qu’il a fallu attendre Hibernate 3 pour obtenir la vision qui existe depuis 15 ans dans les autres produits (et sans bugs…)

Les commentaires sont fermés.