ORM - Hibernate / Cayenne
Voici un petit retour d'expérience sur utilisation d'ORM (hibernate, cayenne) sur plusieurs gros projets.
Les ORM sont des outils formidable mais très complexes a utiliser.
Avec hibernate vous pouvez vous passez du SQL en utilisant des requêtes objet (Criteria).
Concept très en vogue et très apprécié des nouveaux développeurs.
Gestion des transactions et des sessions simplifiée.
----------------------------------------------------------------------------------------------------------------
Si vous utiliser le générateur de mapping par défaut, vous êtes sur d'avoir des performances décevantes.
Le temps gagné en développement sera largement dépassé par l'optimisation et le re-modelisation du code. Ce type de Framework est souvent très mal utilisé par les développeurs.
Si vous développez sans activer les logs SQL vous n'optimiserez pas votre code correctement et donc aurez une application lente.
Ne pas utiliser de tels frameworks sur des opérations lourdes, se limiter à du CRUD.
Ces Frameworks sont pour la plupart associé à un cache qui n'est pas la solution miracle, c'est juste une rustine permettant de rééquilibrer la balance en comparaison à un développement classique.
----------------------------------------------------------------------------------------------------------------
Heureusement que la loi de moore existe, pour palier aux développements on SUR gonfle les serveurs. Les ORM ne font pas gagner du temps mais permettent de mieux structurer le code. Ils s'adressent en priorité aux développeurs expérimentés.