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
[code]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;
}[/code]
E o meu insert é este
[code]
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#
[/code]