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>