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

Persistance des données Java Discussion :

[JPOX]Problèmes avec un identifiant autoincrement


Sujet :

Persistance des données Java

  1. #1
    Membre actif Avatar de Vikisme
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2007
    Messages : 172
    Points : 228
    Points
    228
    Par défaut [JPOX]Problèmes avec un identifiant autoincrement
    Bonjour,
    J'utilise une base de données MySQL avec un identifiant en autoincrement. Mon problème est justement lié à cet identifiant, si je choisi comme persistent-modifier "persistent" pour ce champ, lors de la validation du schéma, j'ai le droit à une erreur, si je choisi "none", la validation se passe bien mais après je n'arrive pas traiter mes objets... J'ai cette Exception sur le rollback lors d'un simple affichage des données de la table pays (il n'affiche pas les pays, et affiche l'exception sur l'instruction rollback)...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exception thrown during retrieval of Extent : Somehow org.jpox.store.rdbms.mapping.VarCharRDBMSMapping.getInt() was called, which should have been impossible!
    Pendant un moment ça marchait à peu prés, à quelques détails prés, mais j'ai beau regarder dans l'historique je ne vois pas de différences entre le moment où ça marchait et maintenant où j'ai cette erreur ...

    Quelqu'un pourrait m'aider ? Quelqu'un a déjà utilisé JPOX avec un identifiant en autoincrement ?


    Ma table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE `pays` (
      `idpays` int(10) unsigned NOT NULL auto_increment,
      `pays_numero` varchar(250) default NULL,
      `pays_nom` varchar(250) default NULL,
      `pays_code` varchar(250) default NULL,
      `pays_ville_capitale` varchar(250) default NULL,
      `old_pays_num` varchar(250) default NULL,
      PRIMARY KEY  (`idpays`)
    ) ENGINE=MyISAM AUTO_INCREMENT=43 DEFAULT CHARSET=latin1;
    Ma classe Pays :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class Pays {
        private int id;
        private String numero;
        private String nom;
        private String code;
        private String ville;
     
        ...
    }
    Mon fichier JDO :
    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
    25
    26
    27
    28
    29
    30
    31
    <?xml version="1.0"?>
    <!DOCTYPE jdo PUBLIC 
        "-//Sun Microsystems, Inc.//DTD Java Data Objects Metadata 2.0//EN"
        "http://java.sun.com/dtd/jdo_2_0.dtd">
    <jdo>
        <package name="org.gifsa.donnees">
        	<class name="Pays" identity-type="datastore" table="pays">
        	    <datastore-identity strategy="autoincrement" column="idpays"/>
     
                <field name="id" persistence-modifier="none">
                    <column name="idpays" jdbc-type="INTEGER"/>
                </field>
     
                <field name="numero" persistence-modifier="persistent">
                    <column name="pays_numero" length="250" jdbc-type="VARCHAR"/>
                </field>
     
                <field name="nom" persistence-modifier="persistent">
                    <column name="pays_nom" length="250" jdbc-type="VARCHAR"/>
                </field>
     
                <field name="code" persistence-modifier="persistent">
                    <column name="pays_code" length="250" jdbc-type="VARCHAR"/>
                </field>
     
                <field name="ville" persistence-modifier="persistent">
                    <column name="pays_ville_capitale" length="250" jdbc-type="VARCHAR"/>
                </field>
            </class>
    	</package>
    </jdo>
    Tout passe, tout casse
    Le joint le cul lassent...


    http://www.myspace.fr/geampa_raler

  2. #2
    Membre actif Avatar de Vikisme
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2007
    Messages : 172
    Points : 228
    Points
    228
    Par défaut
    Bon bah en fait j'ai réussi, j'ai fait exactement la même chose avec une autre classe et ça a marché, et du coup maintenant quand je fais ça avec ma classe Pays ça marche aussi...
    Tout passe, tout casse
    Le joint le cul lassent...


    http://www.myspace.fr/geampa_raler

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

Discussions similaires

  1. Problème avec INSERT OR IGNORE et autoincréments
    Par GoustiFruit dans le forum SQLite
    Réponses: 1
    Dernier message: 12/12/2011, 22h43
  2. [Doctrine] Problème avec les identifiants relatifs.
    Par jeanchristophe22 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/05/2011, 12h48
  3. Problème avec les Identifiants relatifs
    Par PodBanane dans le forum Débuter
    Réponses: 6
    Dernier message: 10/06/2009, 15h33
  4. [MySQL] Insérer des données avec identifiant autoincrémenté
    Par jrosenzw dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 03/04/2009, 16h36
  5. Problème avec autoincrémenté Firebird
    Par cd090580 dans le forum Bases de données
    Réponses: 17
    Dernier message: 31/05/2005, 15h37

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