Hi everybody!
I can't update and delete an object referenced in a collection-descriptor. Can you 
help me? Sorry for the large email and thanks for your time, really thanks. Sorry for 
my english.

So, I have filtered a UsuarioVO, inserted one more object in the collection and try to 
update:

try{
   SegurancaBusinessDelegate segurancaBD = new SegurancaBusinessDelegate();
   
   PessoaVO pessoaVO = new PessoaVO();
   pessoaVO.setCdCgcCpf(new Integer(2));
   pessoaVO.setTpPessoa("j");
   
   UsuarioVO usuarioVO = new UsuarioVO();
   usuarioVO.setPessoaVO(pessoaVO);
   usuarioVO.setTpPessoa(pessoaVO.getTpPessoa());
   usuarioVO.setCdUsuario(new String("3"));
   
   usuarioVO = segurancaBD.filtrarUsuario(usuarioVO);
   
   GrupoAplicacaoVO grupoVO = new GrupoAplicacaoVO();
   grupoVO.setCdGrupo("6");
   grupoVO = segurancaBD.filtrarGrupoAplicacao(grupoVO);
   
   Collection c = new ArrayList();
   c.addAll(usuarioVO.getGruposUsuario());
   c.add(grupoVO);
   
   usuarioVO.setGruposUsuario(c);
   
   segurancaBD.alterarUsuario(usuarioVO);
   
  }catch(Exception e){
   e.printStackTrace();
  }

Then, the error:

15:52:29,577 INFO  [STDOUT] [org.apache.ojb.broker.accesslayer.JdbcAccessImpl] ERROR: 
15:52:29,577 INFO  [STDOUT] SQLException during the execution of the update (for a 
br.com.ptcom.webField.model.UsuarioVO): ORA-01861: literal does not match format string
15:52:29,577 INFO  [STDOUT] ORA-01861: literal does not match format string
15:52:29,577 ERROR [STDERR] java.sql.SQLException: ORA-01861: literal does not match 
format string

repository_user.xml:

<class-descriptor class="br.com.ptcom.webField.model.UsuarioVO" table="LAB.USUARIO" >
  <field-descriptor
    name="cdCgcCpf"
    column="CD_CGC_CPF"
    jdbc-type="INTEGER"
    primarykey="true"
  />
  <reference-descriptor 
    name="pessoaVO"
    class-ref="br.com.ptcom.webField.model.PessoaVO"
    auto-retrieve="true"
    >
   <foreignkey field-ref="cdCgcCpf"/>
   <foreignkey field-ref="tpPessoa"/>
  </reference-descriptor>
  
  <field-descriptor
    name="tpPessoa"
    column="TP_PESSOA"
    jdbc-type="VARCHAR"
    primarykey="true"
  />
  <field-descriptor
    name="cdUsuario"
    column="CD_USUARIO"
    jdbc-type="VARCHAR"
    primarykey="true"
  />
  
  <collection-descriptor
    name="gruposUsuario"
    collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList"
    element-class-ref="br.com.ptcom.webField.model.GrupoAplicacaoVO"
    auto-retrieve="true"
    auto-update="true"
    auto-delete="true"
    auto-insert="true"
    indirection-table="LAB.USUARIO_GRUPO_APLICACAO"
    >
    <fk-pointing-to-this-class column="CD_CGC_CPF"/>
    <fk-pointing-to-this-class column="TP_PESSOA"/>
    <fk-pointing-to-this-class column="CD_USUARIO"/>
    <fk-pointing-to-element-class column="CD_GRUPO"/>
  </collection-descriptor>
</class-descriptor>

<class-descriptor class="br.com.ptcom.webField.model.GrupoAplicacaoVO" 
table="LAB.GRUPO_APLICACAO" >
  <field-descriptor
    name="cdGrupo"
    column="CD_GRUPO"
    jdbc-type="VARCHAR"
    primarykey="true"
  />
  
  <collection-descriptor
    name="gruposUsuario"
    collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList"
    element-class-ref="br.com.ptcom.webField.model.UsuarioVO"
    auto-retrieve="true"
    auto-update="false"
    auto-delete="false"
    auto-insert="false"
     indirection-table="LAB.USUARIO_GRUPO_APLICACAO"
    >
    <fk-pointing-to-this-class column="CD_GRUPO"/>
    <fk-pointing-to-element-class column="CD_CGC_CPF"/>
    <fk-pointing-to-element-class column="TP_PESSOA"/>
    <fk-pointing-to-element-class column="CD_USUARIO"/>
  </collection-descriptor>
  
  <collection-descriptor 
    name="subAcoesGrupo"
    element-class-ref="br.com.ptcom.webField.model.SubAcaoUsuarioGrupoVO"
    auto-update="true"
    auto-delete="true"   
    auto-insert="true"  
    auto-retrieve="true"
   >
   <inverse-foreignkey field-ref="cdGrupo"/>
  </collection-descriptor>
  
</class-descriptor>

Reply via email to