TP JPA Association et Héritage



Documents pareils
Compte Rendu d intégration d application

Avec PICASA. Partager ses photos. Avant de commencer. Picasa sur son ordinateur. Premier démarrage

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

GUIDE D'UTILISATION DU SITE INTERNET DE LA MDA

Avec le pare-feu Windows Vista, vous protégez votre ordinateur contre les attaques provenant d'internet.

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

@telier d'initiation

Vous y trouverez notamment les dernières versions Windows, MAC OS X et Linux de Thunderbird.

VTigerCRM. CRM : Logiciel de gestion des activités commerciales d'une (petite) entreprise

Trier les ventes (sales order) avec Vtiger CRM

Etude de cas : PGE JEE V2

Projet tablettes numériques Document de référence

Je communique par

1. Étape: Activer le contrôle du compte utilisateur

Chapitre 1 I:\ Soyez courageux!

Export vers le format WAV dans ArtemiS SUITE

TP Git. Author : Cedric Dumoulin Date : 2 déc Rev : 9 Dec. 2014

Paramétrages de base de la plateforme

InfraCenter Introduction

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

DirXML License Auditing Tool version Guide de l'utilisateur

2- Relation entre Writer et Calc dans le mailing

Guide de l utilisateur. Demande d accréditation en ligne

PRINCIPES DE BASE DE LA SAUVEGARDE POUR LA PROTECTION DE VOS DONNÉES ET DE VOTRE ACTIVITÉ

Tutoriels RMS-Clubs 5 PAGE 18 SPDLL

LA CRÉATION D'UNE ENTREPRISE EN ESTONIE

Didacticiel de mise à jour Web

1. Introduction Création d'une requête...2

Création d'un questionnaire (sondage)

Installation Bluetooth pour adaptateurs USB Bluetooth sous Windows XP (Windows Vista analogique)

Marche à suivre pour faire une demande de prestations en ligne

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Solution de paiement Monetico Paiement Web. Module Prévention Fraude

Refonte front-office / back-office - Architecture & Conception -

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

1. Création d'un état Création d'un état Instantané Colonnes Création d'un état Instantané Tableau... 4

Comment utiliser sa messagerie laposte.net

Utiliser CHAMILO pour le travail collaboratif

BADPLUS V5 MANUEL D'UTILISATION. Imports de données joueurs à partir de la base fédérale en ligne Poona. Stéphan KIEFFER - Dominique BOSSERT

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

TP PLACO. Journées Mathrice d'amiens Mars 2010

HTML5, CSS3 et JavaScript Développez vos sites pour les terminaux mobiles

Votre adresse ... Pour consulter vos s, connectez-vous sur le site :

Java 7 Les fondamentaux du langage Java

TP1 : Initiation à Java et Eclipse

Acronis Backup & Recovery for Mac. Acronis Backup & Recovery et Acronis ExtremeZ-IP ARCHITECTURE DE RÉFÉRENCE

Premiers pas sur le site ecommerce.cléde13.fr. Sommaire

Gestion des utilisateurs : Active Directory

Diagramme de classes

TP, première séquence d exercices.

Guide de configuration de SQL Server pour BusinessObjects Planning

FORMULAIRE DE CREATION DES PAGES DU SITE INTERNET

Générer du code à partir d une description de haut niveau

Guide de démarrage Janvier 2012

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

Guide de l'utilisateur

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

TP c Fonctions des listes de contrôle d'accès multiples (TP avancé)

Pluridisciplinarité. Classe de BTS DATR

Initiation à JAVA et à la programmation objet.

Installation d'un serveur DHCP sous Windows 2000 Serveur

Tutoriel d'utilisation du logiciel Thunderbird version 2.0

Chapitre 1 : Introduction aux bases de données

Virtualisation de Windows dans Ubuntu Linux

FinImportExport Documentation Utilisateur Gestion d'environnement dans Fininfo Market

Chapitre 3 : outil «Documents»

Comment créer votre propre lampes LED

Procédure administrative Vérification des factures et des remboursements

Messages d'erreurs. Redémarrez votre PC en cliquant sur Démarrer, en sélectionnant ensuite Arrêter puis en cochant Redémarrer

Réseau : Interconnexion de réseaux, routage et application de règles de filtrage.

Université de Bangui. Modélisons en UML

Débuter avec OOo Base

Utiliser les supports d'exemplaires

Bac Professionnel Systèmes Electroniques Numériques

TP Service HTTP Serveur Apache Linux Debian

Fiche Juridique CRÉATION ET FONCTIONNEMENT D'UNE ASSOCIATION LOI DU 1ER JUILLET 1901!

ENT Espace de stockage

Étape 3 : Afin d'approfondir vos connaissances sur le bit d'archivage, vous apprendrez l'effet d'une modification d'un fichier sur celui-ci.

L'accès aux ressources informatiques de l'ufr des Sciences

Le publipostage avec Open Office

CPLN 20/08/2009 MBO Service ICT et Pédagogie

Créer un sondage en ligne

Création de site Internet avec Jimdo

Projet : PcAnywhere et Le contrôle à distance.

Didacticiel des serveurs de bases de données

SOUTIEN INFORMATIQUE DEP 5229

Thunderbird en version Portable

ultisites S.A. module «services»

Les diagrammes de modélisation

Publipostage avec Calc

Exercices de dénombrement

SERVEUR DE MESSAGERIE

Application web de gestion de comptes en banques

Merci de compléter les informations du bon de commande ci-joint. Veuillez consulter et parapher les Conditions Générales de Vente (p 3-7)

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

TP2 : Client d une BDD SqlServer

COMMISSION DES NORMES COMPTABLES. Avis CNC 2014/3 Le traitement comptable des mouvements des capitaux propres d'une entreprise associée 1

Guide de l'utilisateur pour l'assistant d importation de SAP BusinessObjects Enterprise

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Transcription:

Objectifs TP JPA Association et Héritage Author : Cedric Dumoulin Date : 13 nov. 2012 Rev : 14 Oct. 2014 Dans ce TP vous allez faire plusieurs petits exemples afin de vous familiariser avec les associations puis l'héritage dans JPA. Mise en place de l'environnement Assurez-vous que votre environnement vous permet de créer des entity JPA, et de les sauvegarder en base de données. Pour cela, vous devez avoir une implémentation de JPA (ex: EclipseLink), et une base de données (ex: Derby). Le "TP 1 JPA Tutorial " explique comment mettre en place l'environnement. Pour tester votre environnement, vous allez créer un projet avec une classe Todo {summary : String, description : String,...}, et une classe Main qui commence par lister les instances de Todo en base de données, puis crée une nouvelle instance de Todo, et l'ajoute à la base. Exécuter plusieurs fois votre classe main pour vérifier que tous fonctionne correctement. Vous pouvez vous reporter au tutorial de Lars Vogel pour vérifier votre environnement, et voir une solution de cet exercice: http://www.vogella.com/articles/javapersistenceapi/article.html#simple Conseils Vous allez écrire plusieurs petits exemples indépendants. Il y a deux approches possibles : une classe avec sa méthode main() pour chaque exemple, ou une classe avec des tests unitaires pour chaque exemple. Classes avec méthode main() - Pour chaque exemple, vous écrivez une classe avec une méthode main(). Il y a un exemple dans le tutorial de Lars Vogel. Tests Unitaires - Vous écrivez une classe contenant un test unitaire pour chaque exemple. Là aussi, le tutorial de Lars Vogel donne un exemple. Pensez à spécifier 'drop-and-create-table' dans la configuration de votre orm.

Association 1-N Utilisation de collections Vous aller créer une application permettant de créer une entreprise et de lui ajouter des Une entreprise comporte un nom. Un employé comporte un nom, un prénom et son age. Dans cet exemple, vous créez ou retrouvez l'entreprise, puis vous listez ses Ensuite, vous créez un nouvel employé que vous ajoutez à l'entreprise. Testez votre application. Association 1-1 Vous allez ajouter une propriété "adresse : Adresse" à la classe employé. Un employé ne peut avoir qu'une seule adresse. Modifiez votre exemple afin de créer une adresse en même temps que un employé. N'oubliez pas de "vider" votre ancienne BD avant de faire vos tests Testez votre application. Association N-M Un employé participe à plusieurs projets, et un projet à plusieurs participants. Ajoutez la classe Projet à votre application. Modifiez votre exemple afin de tester la nouvelle classe. Videz votre ancienne BD et testez votre application. Association 1-N, classe Equipe Un employé appartient à une et une seule Equipe. Une équipe contient plusieurs Ajoutez la classe Equipe à votre application. Modifiez votre exemple afin de tester la nouvelle classe. Videz votre ancienne BD et testez votre application. Association Bidirectionnelle, méthode de gestion Lorsque l'on affecte une équipe à un employé, il faut aussi affecté l'employé à l'équipe. Modifiez la méthode employé.setequipe(...) afin de gérer automatiquement le positionnement des deux extrémités de l'association: quand on positionne l'équipe dans un employé, l'employé est automatiquement ajouté à l'équipe. N'oubliez pas de vérifier si l'employé appartient déjà à une autre équipe.

Persistance par transitivité La persistance par transitivité consiste a sauvegarder toutes les entités référencés par une entité containeur lorsque cette dernière est sauvegardé. Testez le comportement de JPA: Dans un exemple, créez une Entreprise et plusieurs employés que vous ajoutez à l'entreprise. Ensuite, rendez l'objet Entreprise persistant. Que ce passe t-il? Modifiez votre code afin que les employés soient aussi sauvegardés lorsque vous sauvegardez l'entreprise. Récupération lazy / eager A l'aide d'un des exemples précédents, créez une entreprise avec plusieurs Ensuite, écrivez un code permettant de récupérer l'entreprise, et d'afficher les Testez la récupération en utilisant d'abord le mode LAZY, puis le mode EAGER. Vos classes doivent maintenant correspondre plus ou moins au diagramme suivant: Héritage - Une table par hiérarchie Pour tester la persistance de l'héritage, nous allons reprendre les classes suivantes. Il est conseillé de créer un nouveau projet pour ces exercices.

Créez les classes de la hiérarchie de Joueurs (Player) avec leurs propriétés. Puis, écrivez des exemples, permettant de créer des Footballer, des Cricketer et des Bowler. Dans un autre exemple, commencez par créer différents types de joueurs, puis récupérez et affichez l'ensemble des players de la BD. Ecrivez un autre exemple permettant de récupérer les joueur dont le nom commence par 'r'. Héritage - Une table par classe Modifiez vos exemples précédents afin d'utiliser la stratégie une table par classe. Refaites vos tests. Héritage - Classe mère persistante Dans la hiérarchie de classes suivante, la classe Base sert uniquement d'implémentation commune. Cette classe Base ne doit pas être sauvegardé en BD. Par contre, les données qu'elle contient doivent être sauvegardée avec chacune des classes filles.

Implémentez cette hiérarchie en tenant compte de la contrainte sur la classe Base. Ecrivez un exemple pour créer des entités de type A et B, et pour les relire. Vérifiez qu'aucune table n'est créée pour Base, et que les données author et creationdate sont bien sauvegardées avec les entités de type A ou B.