Hola,
Tienes razón, no guarda nada desde la segunda vez porque no se cierra la conexión (pero no tira ninguna exception), ... vaya, todos los días se aprende algo nuevo ...
Bueno ... esa solución no era muy recomendable de igual forma, así que creo que la solución real sería:
En la interface, tienes que agregar un nuevo método:
Código Java:
Ver originalpublic interface _ClienteDao extends _GeneralDao {
}
Y su correspondiente implementación:
Código Java:
Ver originalpublic class _ClienteDaoImpl implements _ClienteDao {
this.con=con;
}
this.con = c;
}
Y en el factory:
Código Java:
Ver originalpublic static _ClienteDao getClienteDao
(Connection con
){ if(clienteDao==null)
clienteDao=new _ClienteDaoImpl(con);
clienteDao.setConnection(con);
return clienteDao;
}
Y ahora sí deja el close() en su lugar.
De esa forma seguramente va a funcionar, pero con el único inconveniente que van a ser diferentes conexiones cada vez, si necesitas obligatoriamente usar solamente una conexión, entonces tendrías que implementarlo todo de nuevo, pero eso mi amigo ... es otra historia.
Espero haber sido de alguna ayuda,
Saludos.