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

Reply via email to