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)...
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
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!...
Quelqu'un pourrait m'aider ?Quelqu'un a déjà utilisé JPOX avec un identifiant en autoincrement ?
Ma table :
Ma classe Pays :
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;
Mon fichier JDO :
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; ... }
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>
Partager