Bonjour,
j'ai lu la faq hibernate mais je ne comprends pas l'intérêt d'utiliser hibernate ? qu'est ce que mapper ?
merci
Version imprimable
Bonjour,
j'ai lu la faq hibernate mais je ne comprends pas l'intérêt d'utiliser hibernate ? qu'est ce que mapper ?
merci
Cela permet de gérer la persistance des objets en base de manière relativement transparente.
Une fois le mapping créé tu navigue dans ton graphe d'objets sans effectuer de requête (ou avec un minimum de requêtes lors de besoin très spécifiques).
Hibernate est un outil qui permet de "transformer" des tables de base de données en une représentation "objet".
Le "mapping" est ce qui permet de faire le lien entre les 2 (db <-> objet)
Il est plus facile pour une application java de manipuler des objets java que d'utiliser un driver JDBC (par exemple) pour accéder au champs de la DB.
Un problème récurrent de ce type d'application est la correspondance entre un type DB et une représentation du type en java.
Prenons l'exemple ultra simple du boolean. Sur certaines base de données, ce type n'existe même pas, sur d'autres, la valeur assimilée est '0' ou '1' alors que pour d'autres ce sera 0 ou 1.
Bref, le fait de manipuler des classes java permet d'avoir un type java, à charge du "moteur" (en l'occurrence Hibernate) de convertir en ce qui est attendu par la DB.
J'espère avoir été assez clair... ;)
A+
ok donc si j'ai bien compris: pas besoin d'un driver JDBC si on utilise hibernate.
concernant la base de donnée, j'aurais une question : quand on execute une appli java qui utilise une base mysql par exemple, on est obligé d'installer run serveur bdd avec ? ça me parait fastidieux pour l'utilisateur...
Si, il en faut un, mais c'est hibernate qui l'utilisera...
??? Pas bien compris là 8O
La seule chose qu'il faut, c'est un driver JDBC côté application java correctement paramétré pour accéder à une base MySQL sur une machine (distincte ou identique)