[quote=« BodySplash, post:16, topic: 46535 »]Euh oui mais encore faut-il que l’artillerie lourde en question soit correctement déployée Hibernate mal utilisé peut devenir une véritable horreur à maintenir quand le système grossi.
De plus, supporter les évolutions, c’est bien, mais je ne suis pas sur qu’Hibernate soit la baguette magique permettant de tout prévoir. Ce n’est qu’un outil technique, aussi bon soit-il, il ne va pas couvrir les évolutions fonctionnelles.
De plus, un de mes grands credo est « la base n’est pas le besoin ». Je ne pense pas ici que l’utilisateur a demandé à la base à éditer 2 3 tables? Il a du demander la possibilité d’entrer et modifier des utilisateurs. Les tables sont une incidence de la solution technique retenue. Gérer les évolutions sur le besoin de base ne passera peut être pas du tout par hibernate.[/quote]
J’ai du mal à te suivre dans toutes tes explications :crying:.
Même si je suis d’accord dans l’ensemble, il faut voir le théorique et la pratique. Car lorsque je suis arrivé sur ce projet, la base de données était déjà faite (avec un beau MCD merise ), je ne devais m’occuper que du développement, donc forcément, les choix techniques ont déjà été pris des mois auparavant et il faut faire avec, ce qui me va bien car la base de données à été bien conçu. Et je continue de penser que Hibernate correspond très bien à mon cas. Il peut faire beaucoup plus ? Ca tombe bien, qui peut le plus, peu le moins donc.
En plus, je ne suis pas encore à l’aise avec Hibernate, il y a aussi un aspect auto-formation que je n’avais pas évoqué, le fait d’utiliser Hibernate tranquillement va me permettre de me faire la main, de comprendre les principes et de pouvoir par la suite utiliser pleinement avec de l’objet et tout
Pour conclure, ce matin, j’ai réussi à faire passer mon test unitaire de connection Hibernate, voici le code en question :
try {
Configuration configuration = new AnnotationConfiguration();
configuration.configure();
sessionFactory = configuration.buildSessionFactory();
} catch (Throwable ex) {
throw new ExceptionInInitializerError(ex);
}
Il manqué le configuration.configure(); qui n’était dans l’exemple de la documentation, donc mon fichier de conf n’était pas pris en compte. Tout bête mais fallait le voir pour quelqu’un qui n’est pas encore à l’aise avec l’API d’hibernate.