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

Wildfly/JBoss Java Discussion :

[Hibernate JBoss] Probleme de clé primaire


Sujet :

Wildfly/JBoss Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 34
    Points : 17
    Points
    17
    Par défaut [Hibernate JBoss] Probleme de clé primaire
    Bonjour, voilà je travaille avec JBoss 4.0.2 et Hibernate3 pour pouvoir rendre persistante certaines classes.

    J'ai donc une base de données MySQL dans laquelle j'ai mes tables qui correspondent à mes POJO dans ma couche métier.
    Pour le mapping voila un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <class name="coucheMapping.Tvehicule" table="tvehicule">
            <id name="vehId" type="long">
                <column name="veh_id" />
                <generator class="assigned" />
            </id>
            <property name="vehModele" type="string">
                <column name="veh_modele" length="15" not-null="true" />
            </property>
            <property name="vehMarque" type="string">
                <column name="veh_marque" length="15" not-null="true" />
            </property>
            <property name="vehCategorie" type="string">
                <column name="veh_categorie" length="15" not-null="true" />
            </property>
            <property name="vehAgence" type="string">
                <column name="veh_agence" length="15" not-null="true" />
            </property>
            <property name="vehImmatriculation" type="string">
                <column name="veh_immatriculation" length="15" not-null="true" />
            </property>
            <property name="vehCouleur" type="string">
                <column name="veh_couleur" length="15" not-null="true" />
            </property>
        </class>
    J'ai utilisé SchemaExport pour créer ma base,voici le fichier de schéma :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <hibernate-mapping>
     
       <class name="Vehicule" table="Tvehicule">
        <id name="id" column="veh_id" type="long" unsaved-value="null">
          <generator class="hilo"/>
        </id>
        <property name="modele" column="veh_modele" type="string"
          length="15" not-null="true"/>
        <property name="marque" column="veh_marque" type="string"
          length="15" not-null="true"/>
        <property name="categorie" column="veh_categorie" type="string"
          length="15" not-null="true"/>
        <property name="agence" column="veh_agence" type="string"
          length="15" not-null="true"/>
        <property name="immatriculation" column="veh_immatriculation" type="string"
          length="15" not-null="true"/>
        <property name="couleur" column="veh_couleur" type="string"
          length="15" not-null="true"/> 
      </class>
     
    </hibernate-mapping>
    Et mon problème c'est que je n'arrive pas à faire fonctionner le générateur de clé primaire. J'arrive avec le code ci-dessous à entrer une seule fois un objet en base mais dès que j'essaye une 2eme fois il me dit que la valeur de la clé est dupliquée...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    InitialContext ctx = new InitialContext();
            SessionFactory factory = (SessionFactory)ctx.lookup("java:/hibernate/AutoWorkSessionFactory");
            Session hsession = factory.openSession();
            Transaction tx = hsession.beginTransaction();
     
            Tvehicule c = new Tvehicule();
            c.setVehModele(s.getModele());
            c.setVehMarque(s.getMarque());
            c.setVehCategorie(s.getCategorie());
            c.setVehAgence(s.getAgence());
            c.setVehImmatriculation(s.getImmatriculation());
            c.setVehCouleur(s.getCouleur());
     
            hsession.save(c);
     
            tx.commit();
            hsession.flush();
            hsession.close();
    Pour ma config j'utilise JBoss et ses fonctionnalités spécifiques à hibernate en déployant tout ce qu'il faut pour hibernate dans une archive .har...

    Merci de me répondre

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    pourquoi n'utilises tu pas le générateur de clé natif à ta base de données???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <generator class="native" />

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 34
    Points : 17
    Points
    17
    Par défaut
    je ne savais pas que pour MySQL on pouvait utiliser ce générateur, je n'ai pas encore essayé ta solution je vais voir ça maintenant

    Merci en tout cas pour ta réponse

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 34
    Points : 17
    Points
    17
    Par défaut
    bon ça marche merci bien je ne sais pas pourquoi je me suis excité à vouloir faire fonctionner l'algo hilo...

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

Discussions similaires

  1. Probleme hibernate modification d'une clé primaire
    Par mrjeronimo dans le forum Hibernate
    Réponses: 3
    Dernier message: 24/03/2008, 17h33
  2. probleme de clé primaire ?
    Par donny dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 24/05/2005, 10h58
  3. Problemes de clé primaire
    Par Dark_Setsuna dans le forum Oracle
    Réponses: 12
    Dernier message: 01/12/2004, 15h12
  4. [ jboss ] probleme de chargement de jar
    Par felix79 dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 27/10/2004, 10h06
  5. [JBOSS]Probleme de configuration
    Par cameleon2002 dans le forum JBuilder
    Réponses: 5
    Dernier message: 11/09/2003, 15h09

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