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 :

Mapping héritage 1 table par classe concrète [Mapping]


Sujet :

Hibernate Java

  1. #1
    Nouveau membre du Club
    Profil pro
    enseignant
    Inscrit en
    Juillet 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : enseignant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 33
    Points : 36
    Points
    36
    Par défaut Mapping héritage 1 table par classe concrète
    voilà
    je fais des tests sur le mapping avec hibernate 4.0 et utilisation des annotations
    J'ai 3 classes: une classe abstract (classe mère) et 2 classes concrètes (classes filles)
    le but ; au niveau de la database ne créer que 2 tables: une par classe concrète
    pour la classe abstract
    @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
    et
    @GeneratedValue(strategy = GenerationType.TABLE) pour définir l'id au niveau de la classe abstract

    il me génère une table supplémentaire dans la database
    appelé hibernate_sequences
    avec un name sequence et une value (int)
    pour les tables correspondant aux classes concrètes
    il me génère un id en auto
    mais je passe de 1 à 32769 puis à 65537 ??

    y a-t-il un paramètre à mettre au niveau des annotations ou du ficher de configuration pour suivre la numérotation correctement et ne pas passer à des valeurs aussi discordantes ?
    merci d'avance

  2. #2
    Nouveau membre du Club
    Profil pro
    enseignant
    Inscrit en
    Juillet 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : enseignant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 33
    Points : 36
    Points
    36
    Par défaut
    voilà
    je me réponds à moi-même
    il suffit de définir correctement les annotations pour définir
    la génération de l'id en s'aidant d'une table annexe comme

    @Id
    @Column(name = "PERSON_ID", unique = true, nullable = false)
    @GeneratedValue(strategy = GenerationType.TABLE, generator = "CUSTOMER_ID")
    @TableGenerator(name = "CUSTOMER_ID", table = "counters", pkColumnName = "CounterName", valueColumnName = "CounterValue", pkColumnValue = "CUSTOMER_NO",initialValue = 1, allocationSize = 1)
    avec allocationSize

    et le tour est joué

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

Discussions similaires

  1. Problème mapping : une table par hiérarche de classe
    Par artaxerxesier dans le forum Hibernate
    Réponses: 0
    Dernier message: 07/07/2011, 09h49
  2. Réponses: 1
    Dernier message: 17/04/2011, 16h30
  3. problèmes avec la stratégie : une table par classe fille
    Par M.a.n.u. dans le forum Hibernate
    Réponses: 4
    Dernier message: 04/02/2009, 11h01
  4. Héritage avec une table par classe - chargement
    Par seb35 dans le forum Hibernate
    Réponses: 2
    Dernier message: 04/11/2008, 17h38
  5. Réponses: 7
    Dernier message: 13/05/2008, 11h26

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