Can you please raise a new issue at http://jira.codehaus.org/browse/CASTOR, and attach all relevant information and files needed for us to replay the problem ? That should include your domain classes, the mapping file, Castor JDO configuration, DDL scripts and preferably a JUnit test case.
Thanks Werner Igarki San Millan wrote: > Hello, > > I'm having a problem when I try to load an object. > > The error is as follows: > GRAVE: A fatal error occurred while loading projectv1a.KnowledgeBase > using SQL: SELECT > knowledgeBase.kbID,instanceList.instanceListID,knowledgeBase.ontologyID,knowledgeBase.relationListID > FROM knowledgeBase LEFT OUTER JOIN instanceList ON > knowledgeBase.kbID=instanceList.knowledgeBaseID WHERE knowledgeBase.kbID=? > java.sql.SQLException: Column Index out of range, 5 > 4. > at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910) > at com.mysql.jdbc.ResultSet.checkColumnBounds(ResultSet.java:662) > at com.mysql.jdbc.ResultSet.getNativeInt(ResultSet.java:3897) > at com.mysql.jdbc.ResultSet.getNativeInt(ResultSet.java:3892) > at com.mysql.jdbc.ResultSet.getInt(ResultSet.java:2555) > at org.castor.jdo.engine.SQLTypeInfos.getValue(SQLTypeInfos.java:228) > at > org.exolab.castor.jdo.engine.SQLStatementLoad.executeStatement(SQLStatementLoad.java:345) > at org.exolab.castor.jdo.engine.SQLEngine.load(SQLEngine.java:349) > at > org.exolab.castor.persist.ClassMolder.loadFields(ClassMolder.java:565) > at org.exolab.castor.persist.ClassMolder.load(ClassMolder.java:614) > at org.exolab.castor.persist.LockEngine.load(LockEngine.java:399) > at > org.castor.persist.AbstractTransactionContext.load(AbstractTransactionContext.java:567) > at > org.castor.persist.AbstractTransactionContext.load(AbstractTransactionContext.java:430) > at > org.castor.persist.resolver.PersistanceCapableRelationResolver.load(PersistanceCapableRelationResolver.java:416) > at org.exolab.castor.persist.ClassMolder.load(ClassMolder.java:638) > at org.exolab.castor.persist.LockEngine.load(LockEngine.java:399) > at > org.castor.persist.AbstractTransactionContext.load(AbstractTransactionContext.java:567) > at > org.castor.persist.AbstractTransactionContext.load(AbstractTransactionContext.java:430) > at > org.castor.persist.resolver.PersistanceCapableRelationResolver.load(PersistanceCapableRelationResolver.java:416) > at org.exolab.castor.persist.ClassMolder.load(ClassMolder.java:638) > at org.exolab.castor.persist.LockEngine.load(LockEngine.java:399) > at > org.castor.persist.AbstractTransactionContext.load(AbstractTransactionContext.java:567) > at > org.castor.persist.AbstractTransactionContext.load(AbstractTransactionContext.java:430) > at > org.castor.persist.resolver.ManyRelationResolver.load(ManyRelationResolver.java:257) > at org.exolab.castor.persist.ClassMolder.load(ClassMolder.java:638) > at org.exolab.castor.persist.LockEngine.load(LockEngine.java:399) > at > org.castor.persist.AbstractTransactionContext.load(AbstractTransactionContext.java:567) > at > org.castor.persist.AbstractTransactionContext.load(AbstractTransactionContext.java:430) > at > org.castor.persist.resolver.PersistanceCapableRelationResolver.load(PersistanceCapableRelationResolver.java:416) > at org.exolab.castor.persist.ClassMolder.load(ClassMolder.java:638) > at org.exolab.castor.persist.LockEngine.load(LockEngine.java:399) > at > org.castor.persist.AbstractTransactionContext.load(AbstractTransactionContext.java:567) > at > org.castor.persist.AbstractTransactionContext.load(AbstractTransactionContext.java:430) > at > org.castor.persist.resolver.ManyRelationResolver.load(ManyRelationResolver.java:257) > at org.exolab.castor.persist.ClassMolder.load(ClassMolder.java:638) > at org.exolab.castor.persist.LockEngine.load(LockEngine.java:399) > at > org.castor.persist.AbstractTransactionContext.load(AbstractTransactionContext.java:567) > at > org.castor.persist.AbstractTransactionContext.load(AbstractTransactionContext.java:430) > at > org.castor.persist.resolver.PersistanceCapableRelationResolver.load(PersistanceCapableRelationResolver.java:416) > at org.exolab.castor.persist.ClassMolder.load(ClassMolder.java:638) > at org.exolab.castor.persist.LockEngine.load(LockEngine.java:399) > at > org.castor.persist.AbstractTransactionContext.load(AbstractTransactionContext.java:567) > at > org.castor.persist.AbstractTransactionContext.load(AbstractTransactionContext.java:430) > at > org.exolab.castor.jdo.engine.AbstractDatabaseImpl.load(AbstractDatabaseImpl.java:301) > at > org.exolab.castor.jdo.engine.AbstractDatabaseImpl.load(AbstractDatabaseImpl.java:248) > at projectv1a.DataBase.load(DataBase.java:74) > at projectv1a.Test.main(Test.java:378) > > > What I do in my aplication is to load an object that is related > indirectly with KnowledgeBase. The mapping for knowledgeBase is: > > <class name="projectv1a.KnowledgeBase" identity="identity" > key-generator="IDENTITY"> > <description>KnowledgeBase's mapping directory</description> > <map-to table="knowledgeBase"/> > <field name="identity" type="integer" get-method="getId" > set-method="setId"> > <sql name="kbID"/> > </field> > <field name="insList" type="projectv1a.InstanceList" > collection="vector" required="false" get-method="getInstanceList" > set-method="setInstanceList"> > <sql many-key="knowledgeBaseID" /> > </field> > <field name="ontology" type="projectv1a.Ontology" > get-method="getOntology" set-method="setOntology"> > <sql name="ontologyID"/> > </field> > <field name="relationList" type="projectv1a.RelationList" > get-method="getRelationList" set-method="setRelationList"> > <sql name="relationListID"/> > </field> > </class> > > I suppose that the problem is in the relation 1:N with InstanceList > class. Its mapping below: > > <class name="projectv1a.InstanceList" identity="identity" > key-generator="IDENTITY" depends="projectv1a.KnowledgeBase"> > <description>InstanceList's mapping directory</description> > <map-to table="instanceList" /> > <field name="identity" type="integer" get-method="getId" > set-method="setId"> > <sql name="instanceListID"/> > </field> > <field name="classSpecification" > type="projectv1a.ClassSpecification" get-method="getClassSpecification" > set-method="setClassSpecification"> > <sql name="classSpecificationID"/> > </field> > <field name="instanceList" type="projectv1a.InstanceSpecification" > collection="vector" required="false" get-method="getInstanceList" > set-method="setInstanceList"> > <sql many-key="iL_id" /> > </field> > <field name="knowledgeBase" type="projectv1a.KnowledgeBase" > get-method="getKnowledgeBase" set-method="setKnowledgeBase" > > <sql name="knowledgeBaseID" /> > </field> > </class> > > I have been trying with 3 releases of Castor: 0.9.9, 1.0.3 and the last > 1.1M2. In all of them I got the same error. > I have the latest version of mysql-connector(5.0.4) and, also, the last > mysql version running(5.1.14). > > I want to explain that I don´t do any OQLQuery manually, I execute the > method load to load the main object of my aplication and the rest of the > objects are related with the main. KnowledgeBase is one of this objects. > I can´t understand how can I get a SQLException like this. > > Of course, the DataBase is not empty. > > Thanks in advaced > > __________________________________________________ > Correo Yahoo! > Espacio para todos tus mensajes, antivirus y antispam ¡gratis! > Regístrate ya - http://correo.yahoo.es --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email

