101 votes

Ce qui ne l'ACTUALISATION et de la FUSION des implications en termes de bases de données?

Je suis curieux et ont besoin de trouver cette réponse rapide. Google ne l'aide pas beaucoup.

La Java Persistence API a ces propriétés qui racontent le cadre de la cascade des opérations sur les entités associées:

CascadeType.PERSIST
CascadeType.DELETE
CascadeType.MERGE
CascadeType.REFRESH

Je sais ce que les deux premières veux dire: quand je persiste objet A qui a, B, persistent B en tant que bien, et quand je supprime Un, supprimer B ainsi.

Mais je ne peux pas faire tout le sens de ce que les deux autres d'accomplir. De l'aide?

107voto

altCognito Points 23944

JPA Annotation de Sens pour Beaucoup de Nombreuses relations:

  • Tous - TOUS les possible les opérations effectuées sur l'entité source sont en cascade à la cible de l'association.
  • FUSION - si la source de l'entité fusionnée, la fusion est en cascade à la cible de l'association.
  • PERSISTENT - si l'entité source est conservée dans le perdurent en cascade à la cible de l'association.
  • ACTUALISATION - si l'entité source est actualisé, l'actualisation est en cascade à la cible de l'association.
  • SUPPRIMER - si l'entité source est supprimé, l'objectif de l'association est également supprimé.

Je me vois de cette façon (plus lisible):

  • PERSISTER, c'est de créer de nouveaux enregistrements de l'objet dans la base de données.
  • Supprimer est, ainsi, supprimer.
  • De FUSION, d'objets existants, afin de fusionner les données existantes dans la table avec les données de mon objet. (synchronisation de base de données)
  • L'ACTUALISATION consiste à actualiser les données dans l'objet. Peut-être il y avait un changement, sur la base de données qui doit être synchronisé. (synchronisation de base de données)

86voto

chaos Points 69029

ACTUALISER signifie "tirer toutes les modifications de l'état de la base de données dans ma représentation". En cascade, c'est simple; cela signifie que toutes les entités associées sont actualisées.

La FUSION signifie quelque chose de complexe qui se rapproche de "sauver", mais c'est plus comme "pousser cette entité détachée de retour vers l'encadrement d'état et d'enregistrer les modifications de l'état"; la cascade signifie que toutes les entités associées obtenir poussé le de la même façon, et la gestion de l'entité poignée retour d' .merge() a toutes les entités gérées associées.

Lien vers une instance de la docs

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X