Mapping Objet-Relationnel

Slides:



Advertisements
Présentations similaires
Bratec Martin ..
Advertisements

NOTIFICATION ÉLECTRONIQUE
Fragilité : une notion fragile ?
SEMINAIRE DU 10 AVRIL 2010 programmation du futur Hôtel de Ville
Phono-sémantique différentielle des monosyllabes italiens
MAGGIO 1967 BOLOGNA - CERVIA ANOMALIES DU SOMMEIL CHEZ L'HOMME
droit + pub = ? vincent gautrais professeur agrégé – avocat
Transcription de la présentation:

Mapping Objet-Relationnel Enterprise Object Framework I

Objets métiers - objets persistents Les objets métiers sont les objets représentant votre environnement Ces objets ont souvent une durée de vie supérieure à celle de l ’application : ce sont des objets persistents Un objet persitent sauvegarde son état dans un système de stockage permanent: SGBD relationnel annuaire LDAP …

Enterprise Object Framework Permet d ’établir la correspondance entre la base de données et les objets métiers EOF fournit les classes prenant en charge les accès à la base de donnée EOF s ’appuie sur JDBC (depuis WebObjects 5.0)

Enterprise Object Framework Application 1 Objets Métiers Oracle MySql Openbase EOF Application 2

EOModel L ’EOModel décrit la correspondance entre objets métiers et bases de données L ’EOModel se présente sous la forme d ’un fichier texte L ’EOModel est intégré comme ressource dans un projet L ’EOModel contient les informations pour la connexion à la base de donnée

EOModeler Pour créer et éditer l ’EOModel de manière conviviale Pour générer le SQL correspondant au modèle objet Pour générer les sources Java des objets du modèle Pour éditer des requêtes en mode graphique

Entité - classe - table Etudiant nom prenom Marc Nom=« Dupont » <<instance de>> <<instance de>> <<instance de>> Marc Nom=« Dupont » prenom=« Marc » Paul Nom=« Durand » prenom=« Paul » Sophie Nom=«Albert » prenom=« Sophie»

Entité - classe - table Modèle Objet Modèle Entité-Relation Modèle SGBD

Relations « to-one » « to-many » Gilles:Tuteur nom=« Rossi » prenom=« Gilles » etudiants= Marc:Etudiant nom=« Dupont » prenom=« Marc » tuteur= :NSArray Sophie:Etudiant nom=« Albert » prenom=« Sophie » tuteur=

Relations « many-to-many » Marc:Etudiant nom=« Dupont » prenom=« Marc » professeurs= Bob:Professeur nom=« Peters » prenom=« Bob » etudiants= Sophie:Etudiant nom=« Albert » prenom=« Sophie » professeurs=... :NSArray Edith:Professeur etudiants=...

Relations « many-to-many » Il n ’est pas nécessaire de créer une classe correspondant à la table de jointure dans le modèle objet EOModeler permet de masquer la table de jointure (« Flatten »)

Les classes de EOF EOGenericRecord classe par défaut utilisée par EOF stocke les valeurs des attributs et des relations implémente l ’interface EOEnterpriseObject Classes personnalisées pour objets métier sous-classes de EOGenericRecord hérite de l’interface EOEnterpriseObject permettent l’ajout de fonctionnalités supplémentaires

Les classes personnalisées Template généré avec EOModeler

Les classes personnalisées public class Etudiant extends EOGenericRecord { public Etudiant() { super(); } public String nom() { storedValueForKey("nom"); } public void setNom(String value) { takeStoredValueForKey(value,"nom"); } ... }

Mapping Objet-Relationnel Enterprise Object Framework I