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