Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | |||
sio:bloc2:orm [2024/09/03 11:07] – supprimée - modification externe (Date inconnue) 127.0.0.1 | sio:bloc2:orm [2024/09/03 11:07] (Version actuelle) – ↷ Page déplacée de slam4:orm à sio:bloc2:orm jcheron | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Mapping relationnel/ | ||
+ | Quelque soit l' | ||
+ | elle est primordiale, | ||
+ | La place croissante prise par les développements Objet, y compris dans le monde du Web, a favorisé l' | ||
+ | Celle des frameworks de persistance, | ||
+ | |||
+ | **ORM** signifie **O**bject **R**elational **M**apper\\ | ||
+ | |||
+ | Le mappage Relationnel/ | ||
+ | - la distinction structurelle entre un objet et un enregistrement/ | ||
+ | - la notion fondamentale de clé dans le monde relationnel, | ||
+ | - la différence entre les liens : des relations basées sur l' | ||
+ | - la notion de navigation, forte en objet et inconnue en relationnel. | ||
+ | |||
+ | Les ORM proposent des solutions pour réunir ces 2 mondes et ces 2 paradigmes. | ||
+ | Ils permettent : | ||
+ | - De définir les règles de mappage entre une base de données et un modèle objet | ||
+ | - De charger un enregistrement depuis la BDD pour en faire une instance de classe | ||
+ | - De charger un ensemble d' | ||
+ | - De sauvegarder un objet dans la BDD sous forme d' | ||
+ | - De sauvegarder un ensemble d' | ||
+ | - De traduire les relations entre tables sous forme de liens entre classes d' | ||
+ | * pour permettre de charger depuis la base un graphe d' | ||
+ | * pour permettre de mettre à jour dans la base de données ce graphe d' | ||
+ | |||
+ | ===== Design patterns ===== | ||
+ | Il existe 2 familles d'ORM, basées sur 2 patrons de conception différents : | ||
+ | * Active Record | ||
+ | * DataMapper |