Abaixo tem uma linha comentada, dizendo onde é o ERror.
public void add(WTM5 obj) throws Exception {
int i = 1;
open();
stmt = con
.prepareStatement("insert into WTM5 (NUMERO,NOTA,CODCLI,NOME,FANTASIA,VENDEDOR,CFOP,CODIGO,UNIDADE,MERCADORIA,CODIGOCLIENTE,CADASTRO,ALTERACAO,PRECOABAIXOCUSTO,ESTOQUEINSUFICIENTE,ROTA,MAPA,SITUACAO,ECF,HORACADASTRO ,HORAALTERACAO ,HORAPRECOABAIXOCUSTO ,HORAESTOQUEINSUFICIENTE , FATOR ,QUANTIDADE ,PRECO ,TOTAL ,REGISTRO ,PRAZO ,DATA ,VENCIMENTO ,DATACADASTRO ,DATAALTERACAO ,DATAPRECOABAIXOCUSTO ,DATAESTOQUEINSUFICIENTE) values "
+ "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ");
stmt.setString(i, obj.getNUMERO());
i++;
stmt.setString(i, obj.getNOTA());
i++;
stmt.setString(i, obj.getCODCLI());
i++;
stmt.setString(i, obj.getNOME());
i++;
stmt.setString(i, obj.getFANTASIA());
i++;
stmt.setString(i, obj.getVENDEDOR());
i++;
stmt.setString(i, obj.getCFOP());
i++;
stmt.setString(i, obj.getCODIGO());
i++;
stmt.setString(i, obj.getUNIDADE());
i++;
stmt.setString(i, obj.getMERCADORIA());
i++;
stmt.setString(i, obj.getCODIGOCLIENTE());
i++;
stmt.setString(i, obj.getCADASTRO());
i++;
stmt.setString(i, obj.getALTERACAO());
i++;
stmt.setString(i, obj.getPRECOABAIXOCUSTO());
i++;
stmt.setString(i, obj.getESTOQUEINSUFICIENTE());
i++;
stmt.setString(i, obj.getROTA());
i++;
stmt.setString(i, obj.getMAPA());
i++;
stmt.setString(i, obj.getSITUACAO());
i++;
stmt.setString(i, obj.getECF());
i++;
stmt.setTime(i, super.convertDateToTime(obj.getHORACADASTRO()));
i++;
stmt.setTime(i, super.convertDateToTime(obj.getHORAALTERACAO()));
i++;
stmt.setTime(i, super.convertDateToTime(obj.getHORAPRECOABAIXOCUSTO()));
i++;
stmt.setTime(i, super.convertDateToTime(obj
.getHORAESTOQUEINSUFICIENTE()));
i++;
stmt.setDouble(i, obj.getFATOR());
i++;
stmt.setDouble(i, obj.getQUANTIDADE());
i++;
stmt.setDouble(i, obj.getPRECO());
i++;
stmt.setDouble(i, obj.getTOTAL());
i++;
// stmt.setDouble(i, obj.getPERCENTUAL());
// i++;
// stmt.setDouble(i, obj.getDESCONTO());
// i++;
// stmt.setDouble(i, obj.getDESCONTOVALOR());
// i++;
// stmt.setDouble(i, obj.getALIQUOTAICMS());
// i++;
// stmt.setDouble(i, obj.getVALORICMS());
// i++;
// stmt.setDouble(i, obj.getBASEISENTO());
// i++;
// stmt.setDouble(i, obj.getBASEOUTROS());
// i++;
// stmt.setDouble(i, obj.getVALORCONTABIL());
// i++;
// stmt.setDouble(i, obj.getALIQUOTAICMSCAD());
// i++;
// stmt.setDouble(i, obj.getALIQUOTAREDUZIDACAD());
// i++;
// stmt.setDouble(i, obj.getDESPESA());
// i++;
// stmt.setDouble(i, obj.getFRETE());
// i++;
// stmt.setDouble(i, obj.getSEGURO());
// i++;
// stmt.setDouble(i, obj.getBASEST());
// i++;
// stmt.setDouble(i, obj.getST());
// i++;
// stmt.setDouble(i, obj.getMVA());
// i++;
// stmt.setDouble(i, obj.getALIQUOTAST());
// i++;
// stmt.setDouble(i, obj.getCUSTOST());
// i++;
// stmt.setInt(i, obj.getREGISTRO());
// i++;
stmt.setInt(i, obj.getPRAZO());
i++;
// stmt.setInt(i, obj.getCODIGOUNIDADE());
// i++;
// stmt.setInt(i, obj.getEMPRESTIMO());
// i++;
// stmt.setInt(i, obj.getICMSMANUAL());
// i++;
// stmt.setInt(i, obj.getSTMANUAL());
// i++;
stmt.setDate(i, super.convertDateToSqlDate(obj.getDATA())); // Essa
// Linha é a
// que da
// Error!
i++;
stmt.setDate(i, super.convertDateToSqlDate(obj.getVENCIMENTO()));
i++;
stmt.setDate(i, super.convertDateToSqlDate(obj.getDATACADASTRO()));
i++;
stmt.setDate(i, super.convertDateToSqlDate(obj.getDATAALTERACAO()));
i++;
stmt.setDate(i, super.convertDateToSqlDate(obj
.getDATAPRECOABAIXOCUSTO()));
i++;
stmt.setDate(i, super.convertDateToSqlDate(obj
.getDATAESTOQUEINSUFICIENTE()));
i++;
stmt.execute();
close();
}