IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Web Java Discussion :

Suppression logique d'enregistrement avec Spring


Sujet :

Spring Web Java

  1. #1
    Membre actif Avatar de jiddou
    Inscrit en
    Août 2007
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 247
    Points : 251
    Points
    251
    Par défaut Suppression logique d'enregistrement avec Spring
    Bonjour tout le monde,

    Je dois implémenter une suppression logique en base de données avec Spring Hibernate.

    Ceci consiste à supprimer l'élément donc devient invisible dans l'application mais reste toujours en base.

    Je voulais juste savoir si vous avez des idées d'algorithme.

    Je vous propose les miennes et ce que je leur reproche.

    Ajout d'une colonne booléenne dans chaque table pour dire supprimer ou non mais quand la table contient des champs unique ça devient compliquer quand je veux insérer une ligne ayant le même identifiant d'une autre déjà supprimer, mais toujours présente en base.

    Ma 2eme solution c'est d'avoir un clone de chaque table. Mais ça devient lourd après

    Merci de vos propositions

  2. #2
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 135
    Points : 391
    Points
    391
    Par défaut
    Le booléen est selon moi la méthode la plus simple et efficace.
    Pour ton identifiant, je ne voit pas le problème, il suffit que ce ne soit pas ta PK, et que tu ai un ID technique en temps que PK.
    Suivant ta BDD, tu même rajouter un contrainte d'unicité avec ce booléen à faux (contrainte complexe personnalisé).
    Si tu utilise oracle, tu peut même faire des partitions différente pour les supprimés et les non supprimés boostant un poil tes accès BDD.

    Plusieurs tables c'est clairement la mauvaise idée.
    pour la suppression, il faut copier toute les données et supprimer les anciennes, ça va être gourmand en ressources.
    Si le boulet l'utilisateur se trompe, il faut faire l’étape inverse pour remettre l'enregistrement.
    Si tu doit faire une recherche global obligation d'utiliser les unions.

    Non le multiple table n'est bien que pour des principes d'archivage pour ne pas trop pourrir la table de base ( et donc se fera avec un batch pendant des heure ou tu n'as pas d'utilisateur connecté à l'appli).

Discussions similaires

  1. Gestion de la suppression d'un enregistrement avec le type 2
    Par ryosakasaki7777 dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 28/01/2014, 00h25
  2. Réponses: 4
    Dernier message: 25/08/2008, 16h37
  3. Suppression d'un enregistrement en double avec BDE
    Par devlopassion dans le forum C++Builder
    Réponses: 4
    Dernier message: 19/08/2008, 18h56
  4. Réponses: 6
    Dernier message: 30/11/2006, 11h09
  5. Réponses: 1
    Dernier message: 23/08/2006, 21h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo