C'est pas un discours commercial que je recrache mais une bonne expérience que j'ai faite.
On a développé durant 1 an un projet multi-site utilisant le remoting .net avec llblgen et devexpress le tout sur postgresql. Franchement ça c'est super bien passé. Surtout que les modifications dans la base de données étaient hyper fréquentes.
On se mettait d'accord sur les nouvelles tables et 20 minutes après on était en train d'insérer des données dedans.
Notre couche client demandait les entités au serveur en passant les filtres en paramètre, c'était très performant et très convenable à coder.
Si on avait du se mettre à introduire des strings SQL ou HQL ou autre partout je pense qu'on s'en serait difficilement sorti. Alors que là, pouvoir compiler le code était déjà une quasi-certitude certitude de la non-régression des couches inférieures.
Quand je vois d'autres produits ou tout passe par de la reflexion et des fichiers XML, ou l'on doit écrire des pseudo-requêtes en chaînes de caractères qui doivent être parsées, mappées, puis transformées en SQL je me dis que finalement ce choix se défend quand même.
C'est vrai qu'il existe des alternatives open source, mais faut aussi considérer qu'on n'a pas forcément plus de garantie.
Pour ton projet tu as peut être pas le temps d'attendre sur le bon vouloir d'une communauté si tu rencontres un problème ou un bug. Quant au fait que tu puisses disposer du code... Ben est-ce que ton but c'est de passer tu temps sur ton projet ou de le passer à adapter et débugger un ORM ?
Nous avons acheté devexpress dans sa formule avec le code source, la vérité est qu'on n'a pas ouvert une seule fois ce code parce que nous ne sommes pas des développeurs de composants.
C'est quand même sympa de pouvoir s'appuyer sur un produit éprouvé qui fournit plein de fonctionnalités testées "out of the box" et pour lequel tu as un support très actif de la part du développeur (même si c'est vrai qu'il se montre légèrement borné par moment).
Notre but était de ne pas se casser la tête sur notre couche d'accès au données et de pouvoir s'affranchir de toute la complexité et la difficulté de maintenance qu'elle engendre, et on a largement eu ce qu'on a demandé.
J'oserai presque dire qu'entre vs2008, devexpress, llblgen et resharper on était aussi productif qu'avec un l4g.
@maa : ça te génère les entités et les composants pour tout ton requêtage. Par contre ça ne crée pas de façades si c'est ce à quoi tu penses.