[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:
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:
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:
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:
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> |