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

Persistance des données Java Discussion :

Persistance : qu'est ce que c'est?


Sujet :

Persistance des données Java

  1. #1
    Membre actif

    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 310
    Points : 208
    Points
    208
    Par défaut Persistance : qu'est ce que c'est?
    Bonjour

    J'essaye de me former à Hibernate, j'ai bien compris qu'Hibernate permettait de manipuler facilement des données d'une bdd sous forme d'objet (j'ai fait le tutoriel du site) mais à quoi correspond la persistance? J'ai posté ici car ça concerne pas que hibernate cette notion de persistance.

    J'ai beau lire plusieurs cours différents, j'arrive pas bien à saisir ce qu'est la persistance. Est ce que c'est une sorte de cache en mémoire qui limite les accès à la base de données? Si oui, il y a pas de risque d'erreur si la base est utilisée par plusieurs personnes en même temps et que les données changement rapidement?

    Merci d'avance

  2. #2
    Membre confirmé Avatar de supermanu
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 330
    Points : 452
    Points
    452
    Par défaut
    La persistance est un concept et non quelque chose de technique.

    De manière général si on persiste un objet, cela veut dire qu'on peut le récupérer même si on a stoppé puis redémarré l'application ou carrément la machine. C'est ce qu'on appel la persistance.

    Plus particulièrement, en ce qui concerne Hibernate :
    - tu as un objet que tu persiste en base, c'est à dire que des informations représentant l'objet vont être enregistrées en base de données.
    - tu fais différentes manip (arrêt de l'application, arrêt du serveur, redémarrage...)
    - au final tu es toujours capable de récupérer un objet identique grâce à hibernate et au mapping objet-relationel.

    Au contraire, les informations qui sont contenues dans la request ou la session ne sont pas persistantes. Si tu arrêtes ton application elles sont perdues.

    Dernier point, la persistance n'est pas liée spécifiquement à une base de donnée. On peut persister des informations ou des objets sur d'autres support (fichiers xml...)

    En espérant avoir été assez clair
    Pensez au tag
    Mon blog Tutoriels et Astuces en Java : http://emmanuelpierre.free.fr/blog/index.php?

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 525
    Points
    9 525
    Billets dans le blog
    1
    Par défaut
    Pour compléter les propos de supermanu :

    Je dirais plutôt que la persistance est un concept qui s'appuie sur quelque chose de technique.

    JPA fixe les méthodes et les concepts utilisés de manière formelle, Hibernate représente UNE implémentation de JPA (TopLink une autre etc...)

    D'un point de vue générale (comme l'a dit supermanu), ça consiste à "sauvegarder" et à "restaurer" un "objet" sur un support (généralement DB mais pas seulement) en toutes circonstances.
    C'est évidement un vœu pieux, il existera toujours des circonstances qui feront que l'objet n'a pas été sauvegardé (arrêt brutal par exemple etc...)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre actif

    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 310
    Points : 208
    Points
    208
    Par défaut
    D'accord merci, donc rien à voir avec le cache que j'imaginais...
    En gros si crée moi même un objet qui ne provient pas d'une base de données (de type Personne par exemple) et que je le sauvegarde avec ObjectOutputStream dans un fichier texte pour le restaurer plus tard, on peut dire que je fais persister mon objet?

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 525
    Points
    9 525
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Hell Voir le message
    En gros si crée moi même un objet qui ne provient pas d'une base de données (de type Personne par exemple) et que je le sauvegarde avec ObjectOutputStream dans un fichier texte pour le restaurer plus tard, on peut dire que je fais persister mon objet?
    Oui, par la serialization
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre actif

    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 310
    Points : 208
    Points
    208
    Par défaut
    Ok alors j'ai compris
    Merci!

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 24
    Points : 31
    Points
    31
    Par défaut
    Salut à tous,

    Je voulais savoir si la notion de persistance est liée uniquement au concept objet ?
    En d'autres termes, si je code avec un langage procédural comme le C par exemple et que je sauvegarde mes données dans une base de données ou dans un fichier, est ce qu'on peut dire que je fais de la persistance ?

  8. #8
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Citation Envoyé par lamine87 Voir le message
    Salut à tous,

    Je voulais savoir si la notion de persistance est liée uniquement au concept objet ?
    En d'autres termes, si je code avec un langage procédural comme le C par exemple et que je sauvegarde mes données dans une base de données ou dans un fichier, est ce qu'on peut dire que je fais de la persistance ?
    Oui oui, persister n'est pas propre à un langage.
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 24
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par DevServlet Voir le message
    Oui oui, persister n'est pas propre à un langage.
    Merci

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/07/2012, 10h06
  2. est-ce que python est ce que je cherche
    Par SILICONE dans le forum Général Python
    Réponses: 5
    Dernier message: 21/12/2007, 14h23
  3. Un daemon qu'est ce que c'est exactement ?
    Par CedricYhuel dans le forum Administration système
    Réponses: 5
    Dernier message: 01/08/2003, 11h56
  4. Qu'est ce que c'est : Le GateA20 ?
    Par le mage tophinus dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 24/02/2003, 15h09
  5. Qu'est-ce que c'est que Nessus, ça fait quoi exactement ?
    Par PeterT dans le forum Développement
    Réponses: 3
    Dernier message: 24/07/2002, 11h23

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