Re: How to annotate a column to represent int unsigned datatype ?
First of all, thank you both for your time :) Michael, I'm very sorry it didn't work. I can't figure out the difference between sqlType and jdbcType ! I tried your suggestions with different flavors such as (INTEGER(11) UNSIGNED and switched cases) but none worked. @Column(sqlType = INT(11) UNSIGNED, defaultValue = 1) private Member member; But all attempts brought up that exception (Or what reflects the sqlType value), I alos tried these combinations with jdbcType but didn't too: *(TclRequest2 is the class with the mapping I'm trying to test and the main method initializing the test)* javax.jdo.JDOFatalInternalException: SQL type INT(11) UNSIGNED declared for field of java type java.lang.Integer cant be mapped for this datastore. at org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:562) at org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:745) at org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:765) at com.skycomm.services.dao.impl.GenericDAOImpl.saveAndDetach(GenericDAOImpl.java:267) at com.skycomm.ixload.TclRequest2.main(TclRequest2.java:58) NestedThrowablesStackTrace: SQL type INT(11) UNSIGNED declared for field of java type java.lang.Integer cant be mapped for this datastore. org.datanucleus.exceptions.NucleusException: SQL type INT(11) UNSIGNED declared for field of java type java.lang.Integer cant be mapped for this datastore. at org.datanucleus.store.rdbms.mapping.RDBMSMappingManager.getDatastoreMappingClass(RDBMSMappingManager.java:305) at org.datanucleus.store.rdbms.mapping.RDBMSMappingManager.createDatastoreMapping(RDBMSMappingManager.java:564) at org.datanucleus.store.mapped.mapping.PersistableMapping.prepareDatastoreMapping(PersistableMapping.java:246) at org.datanucleus.store.mapped.mapping.PersistableMapping.initialize(PersistableMapping.java:113) at org.datanucleus.store.mapped.mapping.MappingFactory.createMapping(MappingFactory.java:97) at org.datanucleus.store.mapped.mapping.AbstractMappingManager.getMapping(AbstractMappingManager.java:255) at org.datanucleus.store.rdbms.table.ClassTable.manageMembers(ClassTable.java:540) at org.datanucleus.store.rdbms.table.ClassTable.manageClass(ClassTable.java:420) at org.datanucleus.store.rdbms.table.ClassTable.initializeForClass(ClassTable.java:1080) at org.datanucleus.store.rdbms.table.ClassTable.initialize(ClassTable.java:267) at org.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.initializeClassTables(RDBMSStoreManager.java:2452) at org.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.addClassTablesAndValidate(RDBMSStoreManager.java:2359) at org.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.run(RDBMSStoreManager.java:2009) at org.datanucleus.store.rdbms.AbstractSchemaTransaction.execute(AbstractSchemaTransaction.java:113) at org.datanucleus.store.rdbms.RDBMSStoreManager.addClasses(RDBMSStoreManager.java:820) at org.datanucleus.store.AbstractStoreManager.addClass(AbstractStoreManager.java:1163) at org.datanucleus.store.mapped.MappedStoreManager.getDatastoreClass(MappedStoreManager.java:383) at org.datanucleus.store.rdbms.fieldmanager.DynamicSchemaFieldManager.storeObjectField(DynamicSchemaFieldManager.java:98) at org.datanucleus.state.AbstractStateManager.providedObjectField(AbstractStateManager.java:1452) at com.skycomm.ixload.TclRequest2.jdoProvideField(TclRequest2.java) at com.skycomm.ixload.TclRequest2.jdoProvideFields(TclRequest2.java) at org.datanucleus.state.AbstractStateManager.provideFields(AbstractStateManager.java:1520) at org.datanucleus.store.rdbms.RDBMSPersistenceHandler.checkForSchemaUpdatesForFieldsOfObject(RDBMSPersistenceHandler.java:634) at org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObject(RDBMSPersistenceHandler.java:119) at org.datanucleus.state.JDOStateManager.internalMakePersistent(JDOStateManager.java:2371) at org.datanucleus.state.JDOStateManager.makePersistent(JDOStateManager.java:2347) at org.datanucleus.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:1798) at org.datanucleus.ObjectManagerImpl.persistObjectWork(ObjectManagerImpl.java:1647) at org.datanucleus.ObjectManagerImpl.persistObject(ObjectManagerImpl.java:1504) at org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:740) at org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:765) at com.skycomm.services.dao.impl.GenericDAOImpl.saveAndDetach(GenericDAOImpl.java:267) at com.skycomm.ixload.TclRequest2.main(TclRequest2.java:58) Exception in thread main java.lang.NullPointerException at com.skycomm.ixload.TclRequest2.main(TclRequest2.java:58) Thanks a lot :) On Sun, Jul 1, 2012 at 2:04 PM, Michael Bouschen michael.bousc...@akquinet.de wrote: Hi, I'm not sure whether I understand he issue correctly. What I understood is that you want Datanucleus to create the table for your class Test. But the generated table
Re: How to annotate a column to represent int unsigned datatype ?
SQL type INT(11) UNSIGNED declared for field of java type java.lang.Long cant be mapped for this datastore. :) This is killing me ! ehehehhe On Sun, Jul 1, 2012 at 11:22 PM, Michael Bouschen michael.bousc...@akquinet.de wrote: Hi, I'm wondering why the error message says the SQL type INT(11) UNSIGNED declared for field of java type java.lang.Integer. So maybe the error is not on the annotations for class Test, but for the referred class Member. What is the primary key for class member? You cannot use an Integer or int, because INT(11) may hold values that cause an overflow. So the primary key field in Member should be a long field. Regards Michael First of all, thank you both for your time :) Michael, I'm very sorry it didn't work. I can't figure out the difference between sqlType and jdbcType ! I tried your suggestions with different flavors such as (INTEGER(11) UNSIGNED and switched cases) but none worked. @Column(sqlType = INT(11) UNSIGNED, defaultValue = 1) private Member member; But all attempts brought up that exception (Or what reflects the sqlType value), I alos tried these combinations with jdbcType but didn't too: *(TclRequest2 is the class with the mapping I'm trying to test and the main method initializing the test)* javax.jdo.**JDOFatalInternalException: SQL type INT(11) UNSIGNED declared for field of java type java.lang.Integer cant be mapped for this datastore. at org.datanucleus.api.jdo.**NucleusJDOHelper.** getJDOExceptionForNucleusExcep**tion(NucleusJDOHelper.java:**562) at org.datanucleus.api.jdo.**JDOPersistenceManager.**jdoMakePersistent(** JDOPersistenceManager.java:**745) at org.datanucleus.api.jdo.**JDOPersistenceManager.**makePersistent(** JDOPersistenceManager.java:**765) at com.skycomm.services.dao.impl.**GenericDAOImpl.saveAndDetach(** GenericDAOImpl.java:267) at com.skycomm.ixload.**TclRequest2.main(TclRequest2.**java:58) NestedThrowablesStackTrace: SQL type INT(11) UNSIGNED declared for field of java type java.lang.Integer cant be mapped for this datastore. org.datanucleus.exceptions.**NucleusException: SQL type INT(11) UNSIGNED declared for field of java type java.lang.Integer cant be mapped for this datastore. at org.datanucleus.store.rdbms.**mapping.RDBMSMappingManager.** getDatastoreMappingClass(**RDBMSMappingManager.java:305) at org.datanucleus.store.rdbms.**mapping.RDBMSMappingManager.** createDatastoreMapping(**RDBMSMappingManager.java:564) at org.datanucleus.store.mapped.**mapping.PersistableMapping.** prepareDatastoreMapping(**PersistableMapping.java:246) at org.datanucleus.store.mapped.**mapping.PersistableMapping.** initialize(PersistableMapping.**java:113) at org.datanucleus.store.mapped.**mapping.MappingFactory.** createMapping(MappingFactory.**java:97) at org.datanucleus.store.mapped.**mapping.**AbstractMappingManager.** getMapping(**AbstractMappingManager.java:**255) at org.datanucleus.store.rdbms.**table.ClassTable.** manageMembers(ClassTable.java:**540) at org.datanucleus.store.rdbms.**table.ClassTable.manageClass(** ClassTable.java:420) at org.datanucleus.store.rdbms.**table.ClassTable.** initializeForClass(ClassTable.**java:1080) at org.datanucleus.store.rdbms.**table.ClassTable.initialize(** ClassTable.java:267) at org.datanucleus.store.rdbms.**RDBMSStoreManager$ClassAdder.** initializeClassTables(**RDBMSStoreManager.java:2452) at org.datanucleus.store.rdbms.**RDBMSStoreManager$ClassAdder.** addClassTablesAndValidate(**RDBMSStoreManager.java:2359) at org.datanucleus.store.rdbms.**RDBMSStoreManager$ClassAdder.** run(RDBMSStoreManager.java:**2009) at org.datanucleus.store.rdbms.**AbstractSchemaTransaction.**execute(** AbstractSchemaTransaction.**java:113) at org.datanucleus.store.rdbms.**RDBMSStoreManager.addClasses(** RDBMSStoreManager.java:820) at org.datanucleus.store.**AbstractStoreManager.addClass(** AbstractStoreManager.java:**1163) at org.datanucleus.store.mapped.**MappedStoreManager.**getDatastoreClass(** MappedStoreManager.java:383) at org.datanucleus.store.rdbms.**fieldmanager.**DynamicSchemaFieldManager.** storeObjectField(**DynamicSchemaFieldManager.**java:98) at org.datanucleus.state.**AbstractStateManager.**providedObjectField(** AbstractStateManager.java:**1452) at com.skycomm.ixload.**TclRequest2.jdoProvideField(**TclRequest2.java) at com.skycomm.ixload.**TclRequest2.jdoProvideFields(**TclRequest2.java) at org.datanucleus.state.**AbstractStateManager.**provideFields(** AbstractStateManager.java:**1520) at org.datanucleus.store.rdbms.**RDBMSPersistenceHandler.** checkForSchemaUpdatesForFields**OfObject(**RDBMSPersistenceHandler.java:* *634) at org.datanucleus.store.rdbms.**RDBMSPersistenceHandler.**insertObject(** RDBMSPersistenceHandler.java:**119) at org.datanucleus.state.**JDOStateManager.**internalMakePersistent(** JDOStateManager.java:2371) at org.datanucleus.state.**JDOStateManager.**makePersistent(**