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 :

Héritage de classe et persistence


Sujet :

Persistance des données Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 7
    Par défaut Héritage de classe et persistence
    Bonjour à tous,

    Je suis en train de découvrir JAVA au travers d'un petit projet que je réalise à titre personnel.
    Je veux essayer de réaliser une application qui soit capable de fonctionner en multiplateforme SGBD. L'une de ces plateformes serait par exemple un SGBD local et l'autre une base de données « GoogleApps ».
    Je suis donc amené à travailler avec des classes qui représentent les Entités de mes SGBD.
    Le souci avec ces techniques et qu'il faut décrire les entités du coté serveur et du coté client. Cas multiplie de code des déclarations par deux. Le code de déclaration et identique des deux cotés excepté l'ajout d'une notion de persistance sur l'ID de l'entité du coté serveur.

    Un exemple pour mieux comprendre (en gras les différences):

    Coté client
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class toto
    {
      private Long id;
      prinate String Nom;
     
      public Long getId() { return Id; }
      public setId(Long id) { this.Id = id;}
      public String getNom() { return Nom; }
      public setNom(String nom) { this.Nom = nom;}
    }
    Coté Serveur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import javax.persistence.Id;
    public class toto
    {
      @id
      private Long id;
      prinate String Nom;
     
      public Long getId() { return Id; }
      public setId(Long id) { this.Id = id;}
      public String getNom() { return Nom; }
      public setNom(String nom) { this.Nom = nom;}
    }
    Je voudrais essayer d'éviter ces re-déclarations
    L'idée serait de coder une classe de base (un custom) comme celle su coté client et pour le serveur écrire seulement une classe héritière (extends) du custom en y ajoutant juste la notion de persistance.

    Quelqu'un peut-il me dire si c'est possible, et si oui me donner l'exemple de déclaration correspondant à l'exemple précédent.

    Par avance merci.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    tu peux définir ton mapping dans un fichier orm.xml à la place d'utiliser des annotations. Ainsi ta classe de donnée n'a aucune référence à JPA.
    Renseigne toi sur ce fichier.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 7
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    tu peux définir ton mapping dans un fichier orm.xml à la place d'utiliser des annotations. Ainsi ta classe de donnée n'a aucune référence à JPA.
    Renseigne toi sur ce fichier.
    Salut tchize_ et meilleurs vœux à tous,

    Tout d'abord merci pour ta réponse.
    Je ne suis pas certain de comprendre ce que tu veux dire. J'ai lu plein de sujets concernant orm.xml mais jamais dans le cadre de Webservices Rest App Engine.
    Le petit projet de j'essaye de réaliser s'inspire du tutoriel suivant:
    http://nbenbourahla.developpez.com/t...let-objectify/

    Peux tu m'expliquer comment implémenter le fichier orm.xml dans les parties client et serveur de ce tutoriel.

    par avance merci.

Discussions similaires

  1. conflit d'inclusions et Héritage de classe
    Par gedeon555 dans le forum C++
    Réponses: 7
    Dernier message: 01/10/2006, 19h48
  2. [POO] Problème héritage des classes PHP4
    Par zana74 dans le forum Langage
    Réponses: 2
    Dernier message: 15/08/2006, 16h00
  3. Héritage de classes.
    Par Berzerk_ dans le forum C++
    Réponses: 48
    Dernier message: 13/08/2006, 23h48
  4. [POO] Héritage vs classe dans une classe
    Par robichou dans le forum Langage
    Réponses: 4
    Dernier message: 06/08/2006, 23h51
  5. [OO] Héritage - Mixins Classes
    Par djmalo dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 01/03/2005, 23h16

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