Hi ! Have you try to make a conversion in your repository ? You have a class in OJB who convert INT on INTEGER (and the opposite), the name is Int2IntegerFieldConversion. You put a field in the repository like this (my example is a date, it works) : <!-- COLUMN D8CLEH
--> <field-descriptor id="18" name="d8cleh" column="D8CLEH" jdbc-type="TIMESTAMP" conversion="org.apache.ojb.broker.accesslayer.conversions.JavaDate2SqlTimest ampFieldConversion" /> Here, my example convert a Date in an sql.Timestamp (in my bean class, the attribute has the type : java.util.Date) Hope this can help Cheers -----Message d'origine----- De : António Jorge Silva [mailto:[EMAIL PROTECTED] Envoyé : mercredi 7 janvier 2004 05:14 À : [EMAIL PROTECTED] Objet : Update Problem : Cannot convert class java.lang.Integer Hi all ! I'm having trouble when i try to update this object the object is : public class ComponenteAvaliacao implements IComponenteAvaliacao { private String _nome; private ISitio _sitio; private java.sql.Timestamp _inicioInscricoes; private java.sql.Timestamp _fimInscricoes; private int _peso; private int _classificacaoMinima; private java.sql.Timestamp _data; private int _duracao; private int _publicado; private List _notas; private List _inscritos; private List _salas; private List _pautas; // codigos internos da base de dados private int _codigoInterno; private int _chaveSitio; } With all the getters and setters and in OJB i have this <class-descriptor class="Dominio.ComponenteAvaliacao" table="COMPONENTEAVALIACAO"> <field-descriptor name="codigoInterno" column="CODIGO_INTERNO" jdbc-type="INTEGER" primarykey="true" autoincrement="true"/> <field-descriptor name="nome" column="NOME" jdbc-type="VARCHAR"/> <field-descriptor name="chaveSitio" column="CHAVE_SITIO" jdbc-type="INTEGER"/> <field-descriptor name="inicioInscricoes" column="INICIO_INSCRICOES" jdbc-type="TIMESTAMP"/> <field-descriptor name="fimInscricoes" column="FIM_INSCRICOES" jdbc-type="TIMESTAMP"/> <field-descriptor name="peso" column="PESO" jdbc-type="INTEGER"/> <field-descriptor name="classificacaoMinima" column="CLASSIFICACAO_MINIMA" jdbc-type="INTEGER"/> <field-descriptor name="data" column="DATA" jdbc-type="TIMESTAMP"/> <field-descriptor name="duracao" column="DURACAO" jdbc-type="INTEGER"/> <field-descriptor name="publicado" column="PUBLICADO" jdbc-type="INTEGER"/> <reference-descriptor name="sitio" class-ref="Dominio.Sitio" > <foreignkey field-ref="chaveSitio"/> </reference-descriptor> <collection-descriptor name="notas" element-class-ref="Dominio.ResultadoAvaliacao"> <inverse-foreignkey field-ref="chaveAvaliacao"/> </collection-descriptor> <collection-descriptor name="inscritos" element-class-ref="Dominio.InscricaoComponenteAvaliacao"> <inverse-foreignkey field-ref="chaveAvaliacao"/> </collection-descriptor> <collection-descriptor collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList " name="salas" element-class-ref="Dominio.Sala" indirection-table="COMPONENTEAVALIACAOSALA" > <fk-pointing-to-this-class column="CHAVE_AVALIACAO"/> <fk-pointing-to-element-class column="CHAVE_SALA"/> </collection-descriptor> <collection-descriptor collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList " name="pautas" element-class-ref="Dominio.Pauta" indirection-table="PAUTACOMPONENTEAVALIACAO" > <fk-pointing-to-this-class column="CHAVE_AVALIACAO"/> <fk-pointing-to-element-class column="CHAVE_PAUTA"/> </collection-descriptor> </class-descriptor> The dump of the exception was : [org.apache.ojb.broker.accesslayer.JdbcAccessImpl] ERROR: SQLException during the execution of the Update SQL query (for a Dominio.ComponenteAvaliacao): Cannot convert class java.lang.Integer to SQL type requested due to java.lang.ArrayIndexOutOfBoundsException - 2 Cannot convert class java.lang.Integer to SQL type requested due to java.lang.ArrayIndexOutOfBoundsException - 2 java.sql.SQLException: Cannot convert class java.lang.Integer to SQL type requested due to java.lang.ArrayIndexOutOfBoundsException - 2 at com.mysql.jdbc.PreparedStatement.setObject(PreparedStatement.java:861) at com.mysql.jdbc.PreparedStatement.setObject(PreparedStatement.java:881) at org.apache.ojb.broker.platforms.PlatformDefaultImpl.setObjectForStatement(Un known Source) at org.apache.ojb.broker.platforms.PlatformMySQLImpl.setObjectForStatement(Unkn own Source) at org.apache.ojb.broker.accesslayer.StatementManager.bindValues(Unknown Source) at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeUpdateSQL(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeMtoNImplementor(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeCollections(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.apache.ojb.odmg.states.StateOldDirty.commit(Unknown Source) at org.apache.ojb.odmg.ObjectEnvelopeTable.commitAllEnvelopes(Unknown Source) at org.apache.ojb.odmg.ObjectEnvelopeTable.commit(Unknown Source) at org.apache.ojb.odmg.TransactionImpl.doCommitOnObjects(Unknown Source) at org.apache.ojb.odmg.TransactionImpl.prepare(Unknown Source) at org.apache.ojb.odmg.TransactionImpl.commit(Unknown Source) at ServidorPersistente.OJB.SuportePersistenteOJB.confirmarTransaccao(SuportePer sistenteOJB.java:60) at ServidorAplicacao.InvocadorServicosTransaccional.invoke(InvocadorServicosTra nsaccional.java:21) at ServidorAplicacao.GestorServicos.executar(GestorServicos.java:229) at ServidorApresentacao.Action.Docente.PublicarClassificacoesComponenteAction.e xecute(PublicarClassificacoesComponenteAction.java:44) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProces sor.java:484) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve. java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne ction(Http11Protocol.java:549) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav a:666) at java.lang.Thread.run(Thread.java:534) [org.apache.ojb.odmg.ObjectEnvelopeTable] ERROR: Commit on object level failed for tx [EMAIL PROTECTED] Cannot convert class java.lang.Integer to SQL type requested due to java.lang.ArrayIndexOutOfBoundsException - 2 java.sql.SQLException: Cannot convert class java.lang.Integer to SQL type requested due to java.lang.ArrayIndexOutOfBoundsException - 2 at com.mysql.jdbc.PreparedStatement.setObject(PreparedStatement.java:861) at com.mysql.jdbc.PreparedStatement.setObject(PreparedStatement.java:881) at org.apache.ojb.broker.platforms.PlatformDefaultImpl.setObjectForStatement(Un known Source) at org.apache.ojb.broker.platforms.PlatformMySQLImpl.setObjectForStatement(Unkn own Source) at org.apache.ojb.broker.accesslayer.StatementManager.bindValues(Unknown Source) at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeUpdateSQL(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeMtoNImplementor(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeCollections(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.apache.ojb.odmg.states.StateOldDirty.commit(Unknown Source) at org.apache.ojb.odmg.ObjectEnvelopeTable.commitAllEnvelopes(Unknown Source) at org.apache.ojb.odmg.ObjectEnvelopeTable.commit(Unknown Source) at org.apache.ojb.odmg.TransactionImpl.doCommitOnObjects(Unknown Source) at org.apache.ojb.odmg.TransactionImpl.prepare(Unknown Source) at org.apache.ojb.odmg.TransactionImpl.commit(Unknown Source) at ServidorPersistente.OJB.SuportePersistenteOJB.confirmarTransaccao(SuportePer sistenteOJB.java:60) at ServidorAplicacao.InvocadorServicosTransaccional.invoke(InvocadorServicosTra nsaccional.java:21) at ServidorAplicacao.GestorServicos.executar(GestorServicos.java:229) at ServidorApresentacao.Action.Docente.PublicarClassificacoesComponenteAction.e xecute(PublicarClassificacoesComponenteAction.java:44) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProces sor.java:484) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve. java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne ction(Http11Protocol.java:549) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav a:666) at java.lang.Thread.run(Thread.java:534) rethrown as org.apache.ojb.broker.PersistenceBrokerSQLException: Cannot convert class java.lang.Integer to SQL type requested due to java.lang.ArrayIndexOutOfBoundsException - 2 at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeUpdateSQL(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeMtoNImplementor(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeCollections(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source) at org.apache.ojb.odmg.states.StateOldDirty.commit(Unknown Source) at org.apache.ojb.odmg.ObjectEnvelopeTable.commitAllEnvelopes(Unknown Source) at org.apache.ojb.odmg.ObjectEnvelopeTable.commit(Unknown Source) at org.apache.ojb.odmg.TransactionImpl.doCommitOnObjects(Unknown Source) at org.apache.ojb.odmg.TransactionImpl.prepare(Unknown Source) at org.apache.ojb.odmg.TransactionImpl.commit(Unknown Source) at ServidorPersistente.OJB.SuportePersistenteOJB.confirmarTransaccao(SuportePer sistenteOJB.java:60) at ServidorAplicacao.InvocadorServicosTransaccional.invoke(InvocadorServicosTra nsaccional.java:21) at ServidorAplicacao.GestorServicos.executar(GestorServicos.java:229) at ServidorApresentacao.Action.Docente.PublicarClassificacoesComponenteAction.e xecute(PublicarClassificacoesComponenteAction.java:44) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProces sor.java:484) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve. java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne ction(Http11Protocol.java:549) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav a:666) at java.lang.Thread.run(Thread.java:534) Caused by: java.sql.SQLException: Cannot convert class java.lang.Integer to SQL type requested due to java.lang.ArrayIndexOutOfBoundsException - 2 at com.mysql.jdbc.PreparedStatement.setObject(PreparedStatement.java:861) at com.mysql.jdbc.PreparedStatement.setObject(PreparedStatement.java:881) at org.apache.ojb.broker.platforms.PlatformDefaultImpl.setObjectForStatement(Un known Source) at org.apache.ojb.broker.platforms.PlatformMySQLImpl.setObjectForStatement(Unkn own Source) at org.apache.ojb.broker.accesslayer.StatementManager.bindValues(Unknown Source) ... 53 more [org.apache.ojb.odmg.TransactionImpl] ERROR: Could not prepare for commit: null Please help me thank's Antonio --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]