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 :

Utiliser Java pour la persistence d'objets avec MySQL


Sujet :

Persistance des données Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 30
    Points : 25
    Points
    25
    Par défaut Utiliser Java pour la persistence d'objets avec MySQL
    Bonjour à tous,

    je débute en Java depuis peu de temps (même si j'ai l'habitude de la progr), et je suis entrain de réaliser un projet java dans lequel j'ai besoin de me connecter à une base de donnée MySQL. Or, ma BDD MySQL est déjà designée. Est-ce possible pour autant de faire de la persistance d'objets en Java ?

    Je m'explique, ma BDD contient mettons la table suivante (c'est un exemple) :
    ----------------------------------------
    - TABLE games -
    ----------------------------------------
    - gameId (INTEGER)
    - gameName (VARCHAR)
    - gameScore (TINYINT)
    ----------------------------------------

    et j'ai en Java la classe suivante :
    ----------------------------------------
    class game
    {
    int id;
    String name;
    int score;
    }
    ----------------------------------------


    Est-ce possible de relier la classe Java à la table MySQL de sorte à avoir un objet persistant, sans pour autant que cela modifie mon architecture MySQL ou Java ???
    Dans mon projet j'ai notamment de nombreuses liaisons de tables entres elles (0...1, 1...1, 0...n, etc.), et j'aimerais que l'utilisation de la persistance ne modifie pas mon architecture de BDD.


    Une autre solution serait de ne pas utiliser la persistance, mais d'appeller "manuellement" une fonction "updateDB()" après chaque modification importante de mon obj java. Qu'en pensez vous ?


    Merci d'avance pour vos conseils, cela m'éclairera un peu.

  2. #2
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    A mon avis Hibernate pourrait régler ton problème. Tu peux trouver un exemple d'utilisation ici

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 30
    Points : 25
    Points
    25
    Par défaut
    Merci guigui pour ta réponse que j'ai regardé hier. Depuis hier donc, je bosse sur hibernate. Malgré un long moment d'adaptation, je le trouve vraiment super puissant.

    Le seul aspect gênant dans une applis multithreads est le non-thread-safe. Du coup j'ai développé une couche qui se greffe par dessus mon appli pour en assurer la synchronisation avec la BDD.


    Merci donc pour l'info.
    Au passage j'en profite... Y a t-il moyen avec hibernate de définir des valeurs pour des colonnes de la BDD qui ne sont pas liés à des propriétés de la classe?
    Exemple pour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class chair
    {
        int id;
        String name;
        int isUseable;
    }
    J'utilise la table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    chairs
    ---------------
    INTEGER id
    VARCHAR name
    INTEGER isUseable
    VARCHAR commentaries
    Dans l'exemple, je n'ai pas de champs commentaries dans ma classe, mais j'aimerais qu'en cas de création d'objet (session.save), cette valeur ne soit pas à "null", mais à mettons "pas de commentaires". Y a t-il un moyen de gérer ça avec le fichier de mapping hibernate ?
    (Evidemment il y a le paramètre DEFAULT de table MySQL, mais je souhaiterais le faire autrement)


    Bonne journée.

  4. #4
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Pour moi il n'y a pas de moyen sans utiliser les valeurs par défaut de la table. Pour travailler sur une colonne il faut l'avoir mappé et donc mis comme attribut de la classe.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 30
    Points : 25
    Points
    25
    Par défaut
    Zut. Bon tant pis, je me débrouillerais autrement. Et si par hasard je trouve un moyen de le faire avec Hibernate, je te préviendrais.

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/03/2013, 08h22
  2. Base de données relationnelle-objet avec MySQL
    Par tiger8 dans le forum Administration
    Réponses: 2
    Dernier message: 25/10/2010, 15h26
  3. Persistance d'objets avec jdbc
    Par Demon-king dans le forum JDBC
    Réponses: 4
    Dernier message: 12/01/2010, 12h50
  4. [EJB3] Conférence vidéo sur EJB 3 et les APIs Java pour la persistance
    Par Mickael Baron dans le forum Java EE
    Réponses: 0
    Dernier message: 21/06/2007, 12h00
  5. Système de cache d'objets avec MySql ou Session ?
    Par vodnok dans le forum Langage
    Réponses: 5
    Dernier message: 05/06/2007, 13h04

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