157 votes

JPA ou JDBC, en quoi sont-ils différents ?

Je suis en train d'apprendre Java EE et j'ai téléchargé l'eclipse avec glassfish pour la même chose. J'ai vu quelques exemples et lu les documents d'Oracle pour tout savoir sur Java EE 5. La connexion à une base de données était très simple. J'ai ouvert un projet web dynamique, créé une session EJB, utilisé EntityManager et avec les méthodes get, j'ai pu accéder à la table de données stockées.

Pour mon prochain projet, j'ai dû créer une classe simple et accéder à une table de la base de données. Le tout premier problème que j'ai rencontré était que l'attribut PersistenceUnit ne serait reconnu que par les EJB, Servlet etc. et non par une simple classe java. Je ne pouvais donc pas utiliser la méthode EntityManager (ou puis-je le faire ?).

On m'a demandé de passer par la voie "JDBC". Le tout premier problème que j'ai rencontré a été d'obtenir la connexion à la base de données. Il semble que tout cela doive être codé en dur. J'avais un persistence.xml avec lequel je pouvais facilement configurer la connexion à la base de données. Même la configuration d'un pilote pour la base de données était facile. Il n'y a pas non plus de méthodes get/set dans le JDBC pour accéder aux entités de la table.

Comment comprendre JPA et la persistance par rapport à JDBC ? A quoi a servi JPA ? Pourquoi y a-t-il des méthodes set/get ? Quelqu'un peut-il m'éclairer sur l'essence de ces deux éléments et quels sont les avantages et les inconvénients sans jargon ? Veuillez également suggérer quelques liens. Une simple recherche google sur les différences entre JPA et JDBC m'a conduit à des sites pleins de "terminologie" que je n'ai pas pu suivre :(

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X