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

Hibernate Java Discussion :

persistence d'une propriété dont la colonne est mappée 2 fois


Sujet :

Hibernate Java

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 728
    Points : 250
    Points
    250
    Par défaut persistence d'une propriété dont la colonne est mappée 2 fois
    Bonjour,
    j'ai une entité mappée à une table. Cette table a une colonne COD_DIR

    Or dans mon mapping j'ai 2 références à cette colonne
    [CODE]
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumns({ @JoinColumn(name = "COD_ARCHI", referencedColumnName = "COD_ARCHI"),
    @JoinColumn(name = "COD_DIR", referencedColumnName = "COD_DIR") })
    private ArchiArea archArea;

    @Column(name = "COD_DIR", columnDefinition = CHAR_COLUMN_1, insertable=true, updatable=false)
    private String codeDir;
    [/CODE

    Au début de l'initialisation de cette entitée, je dois insérer une valeur dans codeDir (sans initialiser l'autre propriété archArea). C'est pourquoi j'ai mis insertable=true.

    Mais je n'arrive même pas à builder mon application. Le système me dit que je dois mettre insertable=false et updatable=false. Comment m'en sortir ? Merci d'avance

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 936
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 936
    Points : 4 356
    Points
    4 356
    Par défaut
    Citation Envoyé par flamant Voir le message
    Bonjour,
    j'ai une entité mappée à une table. Cette table a une colonne COD_DIR

    Or dans mon mapping j'ai 2 références à cette colonne
    [CODE]
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumns({ @JoinColumn(name = "COD_ARCHI", referencedColumnName = "COD_ARCHI"),
    @JoinColumn(name = "COD_DIR", referencedColumnName = "COD_DIR") })
    private ArchiArea archArea;

    @Column(name = "COD_DIR", columnDefinition = CHAR_COLUMN_1, insertable=true, updatable=false)
    private String codeDir;
    [/CODE

    Au début de l'initialisation de cette entitée, je dois insérer une valeur dans codeDir (sans initialiser l'autre propriété archArea). C'est pourquoi j'ai mis insertable=true.

    Mais je n'arrive même pas à builder mon application. Le système me dit que je dois mettre insertable=false et updatable=false. Comment m'en sortir ? Merci d'avance
    Un seul des champs peut-être modifiable et dans ce cas-ci, vous n'avez pas le choix :
    c'est le @ManyToOne qui doit être insertable=true et updatable=true, et codeDir doit être insertable=false et updatable=false.

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/08/2017, 15h44
  2. Réponses: 1
    Dernier message: 27/07/2017, 18h02
  3. Sélection d'une cellule dont la colonne est nommée
    Par holaholahola dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/06/2014, 10h30
  4. Ajouter une colonne à une table dont le nom est variable
    Par Badtothebone93 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 23/04/2009, 17h32
  5. Réponses: 4
    Dernier message: 05/06/2002, 14h35

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