Sais pas pourquoi je me sens visé :-p
En fait, ça fait partie d’un éternel débat sur la séparation des couches d’une application. Hibernate est un truc permettant au programmeur d’oublié comment on fait du SQL, et de mapper automatiquement les informations entre la DB et les classes Java. Déjà qu’on avait droit à JDBC qui permettait de faire des applications portables entre DB, sans devoir recompiler etc… vu que chaque driver dévait suivre un minimum de norme, maitenant on a droit à des librairies qui permette de ne même plus faire du SQL. Et éventuellement remplacer la persistance SQL par des fichiers XML, ou autres…
Maitenant il y a plusieurs « courant » qui se sont développé, entre le jdbc simple et les entreprises objects de J2EE on a aussi du JDO,
Maintenant, quand je vois ça dans le tutorial :
Query query = session.createQuery(« select c from Cat as c where c.sex = :sex »);
Il y a de quoi se poser des questions sur l’utilité du truc :-p
En lecteur assidu du newsgroup java (enfin le français), les pros sont aussi partagés que moi.
Et en général, ils préconisent d’utiliser un marteau pour enfoncer un clou, et pas un rouleau compresseur. Comme tu le dis toi même, ton application ne sera pas très grosse, pas trop complexe. Donc, pour rester simple, faire du JDBC c’est pas saaaaale™ !! Du moment que les classes d’accès sont bien séparées de la logique applicative, tu garantit la maintenabilité de l’application, sans en compliquer le développement.
C’est un peu comme J2EE (la partie entreprise object), une grosse usine à gaz, très bien foutue, mais qui demande un investissement temps/énergie/apprentissage assez conséquent. Et dans bien des cas, totalement inadaptée. Faut être un banque, une boite d’assurreur, une multi-nationale ou microsoft pour avoir besoin de ça :-p
Pour la question sur Access (quoi y a pas de question ? ), jetes donc un oeil sur FirebirdSql , digne héritier d’ Interbase (de borland), qui est aussi simple, puissant, pratique que acces (la partie « graphique » en moins),. Si j’en parles, c’est uniquement pour pouvoir utiliser un driver jdbc directe (sans passer par l’odbc quoi) (En .NET j’aurais évidemment parlé de MSDE, mais je pense pas que Microsoft fournisse un driver JDBC pour sql-server, j’ai pas vérifier non plus)
Enfin, pour les licences, j’en ai lu tout autant que sur « comment accéder à ma db ». Et c’est aussi peu clair :-p
Normalement, une application peut utiliser des librairies LGPL sans devoir être elle même en gpl ou lgpl (un peut comme la BSD) MAIS il faut quand même citer les trucs en LGPL, citer la licence LGPL (un lien vers un site web suffit), Et s’il y a modification de la librairie, mettre a disposition les sources des modifs (là la grande différence avec la BSD je pense).
Si tu distribue en BSD, n’importe qui pourrait récupérer, changer 1-2 trucs, et revendre ton application sans jamais citer l’origine du truc. En LGPL, il devrait y avoir quelque part un lien vers ton projet/site qui permettrait à l’utilisateur de se rendre compte qu’il existe une autre version, peut-être meilleur, gratuite, mieux suivie, etc…
Mais bon, ça c’est mon interprétation de ce que j’ai lu, et je suis pas avocat
Bonne continuation.
Ce message a été édité par mccricri le 09/06/2004