cours0708/A63/Seance1

45 lines
2.6 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Quand on éteind le pc, on perd souvent les données contenues dans un programme.
voilà pourquoi il est utile de sauver le travail dans des fichiers, des bases, etc ...
D'où l'existence de la persistance des données.
Oracle Toplink JPA sera utilisé pendant les cours, mais nous utiliserons la partie libre de cette implémentation.
Il est plus intéressant d'utiliser des librairies et ce avec Toplink.
Une base de données est relationnelle, contrairement à nos objets, voilà pourquoi nous devons permettre l'insertion correcte de nos objets dans une base de données relationelle.
Idée de persistance : on retrouve tout nos objets avec les éventuelles modifications apportées entre temps.
Mapping, en français se dit, d'aprÚs le professeur, **mappage** !
JPA = Java Programmaing API (API = Application Programming Interface)
JDO = Java Database Object
C'est la norme de Sun.
Hybernet était trÚs utilisée avant la norme JDO. Donc Sun a pris le meilleur de JDO et le meilleur d'Hybernet, et en a fait une nouvelle norme.
Les nouvelles normes sont moins restrictives qu'avant.
Au début avant JDO, la norme était JPOX. La bibliothÚque de référence est donc Oracle.
===== JavaBean =====
Quand nous créeons un objet Java Bean, nous ajoutons des sortes de commentaires qui vont informer que tel ou tel ascesseurs / mutateurs vont correspondre à telle ou telle colonne / table dans la base de données.
Par défaut cela prend les gets/sets de la classe Java Bean, cependant il faut préciser :
* Correspondance un à plusieurs
* Colone de la clé étrangÚre
Il faut aussi un EM (= entity manager).
===== Persistance =====
Même aprÚs avoir utilisé un EM, et aprÚs avoir demandé les informations de l'objet, on sauve l'objet à l'aide de la méthode **persistent**.
Tout va être enregistré dans la base de données ! Cependant il faut demander à enregistrer les données, donc il faut toujours faire un persistant.
===== Transactions =====
Ne pas oublier de mettre le tout dans une transaction, elle même dans un contexte. Il faut donc le code associé.
Une transaction est une opération qui nécessite plusieurs actions, actions qui ne PEUVENT être séparées.
Exemple : un virement interne est une action de débit et une action de crédit. Il faut donc que les deux soient faites ou pas du tout, aprÚs plantage c'est soit l'un, soit l'autre.
===== Agent Java =====
L'agent java, ou //javaagent// va triturer le code, va **instrumentaliser** le code binaire de notre fichier Java pour permettre d'ajouter les choses nécessaire pour JDBC.