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

JPA Java Discussion :

Héritage EJB entity et persistance


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 71
    Par défaut Héritage EJB entity et persistance
    Bonjour,

    mon problème est simple : j'aimerai ajouter un nouveau comportement à une EJB entity en utilisant l'héritage et faire persister la classe fille ou la classe parent sans que la distinction soit necessaire par le client.

    Je ne veux pas que ma classe fille persiste ses attributs. Or le compilateur, Netbeans 6.0, me sort une erreur :
    "the class must use consistence access type (either field or property)"

    Je pense que c'est parce que je n'ai aucun attribut à faire persister dans la classe fille. Mais je n'en veux pas ! La classe fille sert juste au niveau client, seul les informations de la classe parent qui sont en partie calculer par la classe fille, doivent persister.

    Je précise que la classe parent persiste sans problème.

    J'utilise la stratégie SINGLE_TABLE et voici le code

    _ de la classe parent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    @Entity
    @Table(name = "stations")
    @Inheritance(strategy=InheritanceType.SINGLE_TABLE)//@DiscriminatorColumn(name="record_type")
    @NamedQueries(....)
    public class Stations implements Serializable, SiteInt {
        protected static final long serialVersionUID = 1L;
        @EmbeddedId
        protected StationsPK stationsPK;
        @Column(name = "nom")
        protected String nom;
        ...
    _ de la classe fille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    @Entity
    @Inheritance(strategy=InheritanceType.SINGLE_TABLE)
    public class FeatureStation extends Stations implements Serializable, FeatureInt {
     
        @Transient
        private transient FeatureInt _feat = null ;
     
            public FeatureStation()
            {
     
            }
    Pouvez vous m'aider ???

  2. #2
    Membre confirmé
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 50
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 114
    Par défaut
    Je suis loin d'être experte en la matière. Mais selon ma logique si tu ne veux pas que ta classe fille soit persistante, il ne faut pas utiliser l'annotation @Entity.
    Ce qui n'empêche pas l'héritage ? A vérifier ...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 71
    Par défaut
    Et non, malheureusement, trop facile ! Au moment de faire persister la classe fille, si tu ne mets pas la directive @Entity, le serveur déclenche une exception : la classe n'est pas une entity beans (les attributs hérités ne sont pas persisté, bien sur).

  4. #4
    Membre confirmé
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 50
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 114
    Par défaut
    Désolée !
    Moi aussi je me pose pas mal de questions sur l'héritage et je dois dire que je rame pas mal (cf mon post).
    J'espère trouver des réponses rapidement.
    Bon courage.

  5. #5
    Membre chevronné


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par défaut
    Bonjour,

    Je ne pense pas que cela vienne de là.
    Le message d'erreur sous-entend que tu as annoté à la fois des attributs et des getters dans une même classe (héritage compris je dirais), ce qui n'est pas autorisé avec JPA 1.0.

Discussions similaires

  1. persistance EJB entity? hibernate ?
    Par grizzz dans le forum Persistance des données
    Réponses: 5
    Dernier message: 05/09/2008, 13h53
  2. [EJB3 Entity] Partage d'ejb entity entres applications, named queries
    Par kristof_machin dans le forum Java EE
    Réponses: 3
    Dernier message: 22/01/2008, 11h04
  3. Réponses: 2
    Dernier message: 21/02/2007, 23h31
  4. [EJB3] EJB entity 3 et Hibernate 3
    Par pbdlpc dans le forum JPA
    Réponses: 3
    Dernier message: 05/12/2006, 14h14
  5. [EJB] Généralités sur les EJB Entity
    Par drKzs dans le forum Java EE
    Réponses: 2
    Dernier message: 07/04/2006, 12h15

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