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 :

[JPA] Mapper des vues sans primary key


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2007
    Messages : 5
    Par défaut [JPA] Mapper des vues sans primary key
    Salut la communauté !

    Débutant en JPA (et un peu rouillé en Java après mon passage au .NET ) Je travail actuellement sur la mise en place d'une couche JPA sur une base de données déjà existante.
    Cette base de donnée comporte des vues, je sais qu'une vue peut-être considéré comme une entité, pas de problème jusque là.
    Le problème arrive ensuite car les vues en question n'ont pas de primary key...
    J'ai déjà pas mal cherché sur le net sans trouver de réponse à ma question :
    Est-il possible de mapper avec JPA une vue sans primary key ?
    Apparemment ce n'est pas le cas pour une entité, y a t-il un moyen détournée en ce qui concerne les vues ?
    Je ne parle pas de primary key composé ou autre, mais bien de vue sql sans aucune primary key !
    J'ai déjà tenté plusieurs manipulations qui sont resté sans succès.

    Merci d'avance pour vos éléments de réponse

  2. #2
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Par défaut
    C'est pas possible,
    mais pour votre cas si la base est déja existante vous pouvez choisir un ID de la table et l'annoter dans votre classe sans pourtant ajouter la contrainte du clé primaire dans votre schéma, et à chaque déploiement vous ne faites que valider le schéma de la base. C a dire dans persistence.xml (l'implémentation ici est hibernate) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     <properties>
           ........................
             <property name="hibernate.hbm2ddl.auto" value="validate"/>
           ................          
        </properties>
    La console ne génère pas des exceptions. Il vous reste qu'essayer les fonctionnalités lié à la clé primaire (find,@ManyToOne.......).

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2007
    Messages : 5
    Par défaut
    Cela fonctionne, même sans le validate dans le persistence.xml. (j'utilise toplink, je ne sais pas si cela a un rapport...)
    Merci !

  4. #4
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Par défaut
    Donc si ça marche, ça est !!!
    Voilà une façon détourné de faire marcher un mapping avec un schéma sans clé primaire. Il vous reste qu'à vérifier si vous pouvez profiter des avantages des fonctionnalités offertes par la contrainte de clé primaire(annoté par @Id) (find:trouver un tuple par sa clé primaire,ManyToOne:relation un à plusieurs mappé par clé primaire.....). Je ne sais pas si ça différent entre les implémentations,mais il faut chercher et essayer.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2007
    Messages : 5
    Par défaut
    Désolé pour la fausse joie, cette solution avait l'air de fonctionner au premier abord, mais un peu plus loin dans la manipulation de ces vues cela ne fonctionne plus...
    Pour résoudre le problème j'ai dû créer et utiliser des EmbeddedId...

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

Discussions similaires

  1. Créer une entitie sans primary key
    Par Idleman dans le forum JPA
    Réponses: 3
    Dernier message: 01/01/2011, 19h17
  2. delete dans une table contenant des primary key
    Par bracket dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/11/2008, 17h41
  3. ADO- Impossible de mettre à jour une table sans primary key.
    Par Mr_Welby dans le forum Accès aux données
    Réponses: 3
    Dernier message: 26/05/2007, 14h26
  4. Table sans primary key avec Hibernate
    Par zizou771 dans le forum Hibernate
    Réponses: 1
    Dernier message: 28/02/2007, 15h58

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