Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
enseignement:tp:bd:tp-orm:2014 [2014/09/22 07:03]
ecoquery [Base de donnée et schema relationnel]
enseignement:tp:bd:tp-orm:2014 [2014/09/22 16:46] (Version actuelle)
ecoquery [Remarques additionnelles]
Ligne 149: Ligne 149:
 === Divers === === Divers ===
   * Lorsqu’une entité/classe possède un identifiant portant sur plusieurs attributs, il faut créer une classe spécifique (qui n'est pas une entité) pour regrouper ces champs, et utiliser un champ de cette classe en lieu et place du groupe de champs servant d'identifiants dans votre modèle objet. Voir ''@EmbeddedId'', ''@Embbedable''. Voir également ''@ElementCollection'' si les éléments de la collection ne sont pas des entités.   * Lorsqu’une entité/classe possède un identifiant portant sur plusieurs attributs, il faut créer une classe spécifique (qui n'est pas une entité) pour regrouper ces champs, et utiliser un champ de cette classe en lieu et place du groupe de champs servant d'identifiants dans votre modèle objet. Voir ''@EmbeddedId'', ''@Embbedable''. Voir également ''@ElementCollection'' si les éléments de la collection ne sont pas des entités.
-  * Les annotations @Column, @JoinColumn, @JoinTable sont à utiliser dans le mapping+  * Les annotations ''@Column''''@JoinColumn''''@JoinTable'' sont à utiliser dans le mapping 
 +  * Avec le paramètre ''mappedBy'', il est possible d'utiliser une valeur du type ''maCle.unChamp'' pour indiquer que la relation inverse est référencée à partir d'un champ dans une clé composée (i.e. en présence de ''@Embbedable''/''@EmbbeddedId'').
   * Changer ''hibernate.hbm2ddl.auto'' de ''validate'' à ''update'' permet au framework de modifier le schéma relationnel. Cela peut être utile pour comprendre à quoi correspond le mapping en cours de développement, mais cela écrase le schéma de l'énoncé. A la fin du TP, le mapping doit fonctionner avec le schéma de fourni plus haut. En cas d'impossibilité, justifier les différences dans des commentaires appropriés dans les classes Java.   * Changer ''hibernate.hbm2ddl.auto'' de ''validate'' à ''update'' permet au framework de modifier le schéma relationnel. Cela peut être utile pour comprendre à quoi correspond le mapping en cours de développement, mais cela écrase le schéma de l'énoncé. A la fin du TP, le mapping doit fonctionner avec le schéma de fourni plus haut. En cas d'impossibilité, justifier les différences dans des commentaires appropriés dans les classes Java.
   * L'ordre suivant est suggéré dans la mise en place des classes et du mapping:   * L'ordre suivant est suggéré dans la mise en place des classes et du mapping: