Ceci est une ancienne révision du document !
Création des classes métier
Produit :
- id (primary key)
- idCategorie (foreign key references categorie.id)
Ligne :
- idCommande (primary key)
- idProduit (foreign key references produit.id)
Commande :
- id (primary key)
Categorie :
- id (primary key)
Produits et catégories
A partir de l'observation de cette première implémentation et en utilisant à bon escient la documentation, répondez aux questions suivantes :
- Comment est déclarée la table assurant la persistance d’un objet ?
La persistance de la table est assurée par l'héritage de KObject.
- Comment est déclaré le mapping entre un membre de la classe et un champ de la table relationnelle ?
Le mapping entre un membre de la classe et un champ de la table relationnelle est déclaré grâce à hasMany et belongsTo.
- Comment est déclarée la clé primaire de la table ?
La clé primaire de la table est déclarée par un "keyFields".
- Réaliser un tableau montrant la correspondance de type (entier, chaine, etc.) entre les propriétés d’une classe et les champs d’une table.
- Montrez à l’aide d’un schéma (par ex. deux classes liées au dessus de deux tables liées) comment se paramètre le lien bidirectionnel entre deux classes (en spécifiant les éléments à fournir dans le constructeur)
Java | SQL | |
---|---|---|
Entier | int | int |
Chaîne de caractères | String | String |
Flottant | Float | Float |

Programme de test
Analysez le code du programme et répondez aux questions en vous aidant au besoin de la documentation :
- À quoi correspond la méthode kstart() ?
La méthode kstart() permet la démarrage de l'application.
- Comment ont été traduits les liens objet entre le membre categorie et produits entre ces classes dans les tables de la base ?
Le lien entre le membre categorie et produits a été traduit par l'affectation d'une catégorie à l'objet produit, ce qui équivalent à une clé étrangère.
- Quelles requêtes SQL ont été créées par KObject pour réaliser la persistance ?
Insertion de la catégorie : INSERT INTO categorie(libelle) VALUES('Presse2')
- Que se passe t-il si l'insertion de la catégorie échoue ?
Si l'insertion de la catégorie échoue, le produit n'est pas inséré.
Insertion du produit : INSERT INTO produit(idCategorie,prix,nom) VALUES('7','10.0','Programmez!!')