Problemas na Inserção IBATIS

0 respostas
J

Bons dias campeões:
Gostava de vos colocar uma questão. Como sou novo no ibatis não encontro solução para isto..
Tenho uma função que faz 3 inserts a 3 tabelas distintas...
Desta forma no meu segundo insert quala_cgd_controlo_documentos.insertDocumentoComPai ele retorna-me vazio(Object novoDoc = null). Embora eu lhe esteja a passar os parametros correctos e se correr o sql com eles directamente na BD ele funciona. Alguem me pode ajudar

public Integer insert(Documento record) {
// gravar na quala_cgd_controlo_documentos
Object newKey = getSqlMapClientTemplate().insert(
	"quala_cgd_controlo_documentos.abatorgenerated_insert",
	record.getControlo());
Integer id = (Integer) newKey;
		
		
// gravar na quala_cgd_documentos
if (record.getControlo().getNumVersao() == 1){ //Testamos se temos uma revisao ou nao
.....
}
else{
    //
   Object novoDoc =getSqlMapClientTemplate().insert(
      "quala_cgd_controlo_documentos.insertDocumentoComPai", record);
   Integer idDoc = (Integer) novoDoc;
			
   Map<Integer, PermissoesAcessoDocumento> permissoesDoc = record.getPermissoes();
   Iterator iter = permissoesDoc.values().iterator();
			
			
    while (iter.hasNext()){
    PermissoesAcessoDocumento permDoc = (PermissoesAcessoDocumento) iter.next();
		permDoc.setIdDocumento(idDoc);
    this.gravaPermissoes(permDoc);
   }
}
return id;
}

E o meu insert é este

<insert id="insertDocumentoComPai" parameterClass="pt.caso.quala.cgd.crud.model.Documento">
   
    insert into quala_cgd_documentos (ficheiro, controlo_documento, content_type, 
    								processo, nome_ficheiro, id_documento_pai, id_documento)
    select ficheiro, controlo_documento, content_type, #processo:INTEGER#, nome_ficheiro, id_documento, 
    		(id_documento + 1)
    from quala_cgd_documentos
    where controlo_documento = #idControloDocumento:INTEGER#
    
  </insert>
Criado 23 de setembro de 2008
Respostas 0
Participantes 1