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

Hibernate Java Discussion :

Trigger de base mais en java


Sujet :

Hibernate Java

  1. #1
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 317
    Par défaut Trigger de base mais en java
    Je vous explique mon problème :
    Je souhaite garder un historique des modifications faites sur les enregistrements d'une table.

    D'habitude je fait cela en SQL via un trigger de base sur la table. A chaque UPDATE OU INSERT sur la table, le trigger fait une copie de l'enregistrement dans la table Historique. En 5 min c'est codé...
    Mais pour mon nouveau projet, le client ne veut pas de trigger de base.

    Aussi comment coder ca ("proprement") en java ?
    Quelqu'un a déjà fait ca ?
    AOP est-il ma solution ?

    Note : J'utilise Hibernate et Spring
    Toutes les suggestions sont les bienvenues...

  2. #2
    Membre émérite
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Par défaut
    Je comprends pas trop là?
    Tu utilises une BD oui ou non?
    SI tu souhaites une solution orientée objet, je te conseille de créer une classe pour toutes les communications avec la BD et à chaque changement qui passe via cette classe enregistrer un changement dans le LOG.

  3. #3
    Membre émérite Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Par défaut
    Avec Hibernate, il existe des "triggers applicatifs" lorsque tu étends certains listeners et les ajoutes à ta configuration de lancement du PersistanceManager.

    Jettes donc un oeil du coté de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    org.hibernate.event.[Post|Pre][Insert|Update|Load|Delete]EventListener
    Ces interfaces vont pouvoir executer une méthode lors de chaque évènement.
    Il existe aussi les Interceptors possèdant les méthodes (OnLoad(), OnInsert(), OnFlush(), etc...) maintenant, je ne sais plus exactement a quels moments ces derniers interceptent les évènements (il faudrait voir ca sur la documentation Hibernate mais je crois bien qu'elle n'explique pas la nuance entre ces deux objets).

    Bon courage

  4. #4
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 317
    Par défaut
    Merci
    C'est ce que je cherchais

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/04/2008, 15h14
  2. connection base oracle en java
    Par fracam dans le forum Oracle
    Réponses: 2
    Dernier message: 16/12/2005, 17h39
  3. [COMPACTAGE] Compacter une base à partir de Java
    Par narmataru dans le forum Access
    Réponses: 2
    Dernier message: 07/11/2005, 21h14
  4. [JDBC]Quelle base de données java choisir ?
    Par Orionmel dans le forum JDBC
    Réponses: 3
    Dernier message: 02/10/2005, 20h56
  5. base données avec java mono et multi utilisateurs
    Par Garion dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 03/12/2004, 09h20

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