Bonjour à tous !
Je suis en train de développer un logiciel de gestion de la relation clientèle pour une petite boite (je suis stagiaire là-bas).
En ce qui concerne ma base je n'ai pas encore de quoi réaliser un modèle conceptuel complet mais à vue de nez j'aurais une bonne quinzaine, voire vingtaine de tables.
A priori rien de très alambiqué ni compliqué, je recense déjà 5-6 tables seulement composés de deux champs (de simples catégories avec un id et un libellé) que j'aurais probablement pu regrouper en une seule table avec un champ discriminant mais passons
J'ai quelques "grosses" tables avec du many-to-one/one-to-many et j'en aurais probablement quelques unes avec du many-to-many.
J'ai assez peu d'expérience dans le développement de ce genre d'applications (avec base de donnée) et ma première expérience fut un échec . Je développais en Delphi à l'époque et j'ai eu une démarche similaire à celle que je pourrais avoir en utilisant JDBC (d'où ma crainte de retomber dans les mêmes problèmes => passer les trois quarts du temps à corriger du bug et changer la conception de mon code de persistence).
Depuis que je suis passé à Java je lorgne du côté d'hibernate qui m'a bien bluffé lorsque je l'ai testé (j'ai dû faire leur premier tutorial, donc pas allé bien loin) et je dois dire que j'ai été assez tenté de l'utiliser pour ce projet.
Mais j'ai peur de passer beaucoup trop de temps à comprendre son fonctionnement et à l'utiliser correctement.
A côté de ça je pourrais utiliser JDBC mais j'ai peur de faire du code un peu bordélique et assez peu flexible au niveau de l'utilisation.
Quand je compare à Hibernate où au final on ne fait que manipuler ses Java Beans sans se soucier de rien...
A côté de ça je viens de tomber sur JDO qui semble ressembler à Hibernate (en tous cas dans les grandes lignes) et je commence à m'y perdre.
L'application que je développe doit être multi-utilisateurs et respecter une architecture type client/serveur (en fait c'est simplement la BDD qui sera sur un serveur). A priori il ne devrait pas y avoir plus de 5 utilisateurs au total et encore moins d'utilisateurs simultanés.
Niveau matos serveurs ils ont juste un Xp pro avec plein de répertoires partagés, ils l'utilisent aussi comme station de travail (). C'est pas une foudre de guerre mais j'ai vu pire.
Donc j'ai pas de grosses contraintes de performances, mais j'aimerais quand même avoir une application réactive.
Quelle est, selon-vous qui êtes plus expérimenté, le meilleur choix à faire ?
Hibernate au risque d'impacter les performances et de se perdre dans son utilisation ?
JDBC et passer beaucoup de temps sur le code pour gérer la persistance ?
Je sais bien qu'il n'y a pas qu'une seule réponse comme en témoigne le débat qui a lieu sur l'utilisation des ORM (j'arrive plus à mettre la main sur le lien ).
Je vous remercie d'avance pour vos conseils et vos réponses
Partager