Seg{un lo que he entendido puedo decirte lo siguiente:
* Primero cuando ocurre una excepcion durante el envio de datos a ytraves de JDBC, la bd se restaura hasta la ultima vez en que se hice commit o se actualizaron los datos, por ejmplo: inserto una fila en la tabla clientes, luego en una fila mas en la tabla pedidos y aqui ocurre una exception entonces solo quedara grabada los datos de la tabla cliente si se ha configuracion JDBC para que sea autocommit o tambien eliminara la fila de clientes se debe restaurar hasta la ultima vez que se hizo commit. POR LO TANTO SI TE OCURRE UNA EXCEPTION ES ESA EXCEPTION LA QUE GENERA EL PROBLEMA.
* La exception arrayindexout sugiere que estas utilizando un indice fuera del rango permitido por ejemplo si tiene un arreglo de tres elementos y quieres referenciar al elemento 3 osea algo asi: a[3].
ASI QUE NOS HUBIESE GUSTADO VER TU CODIGO PARA PODERTE AYUDAR.
Ojala haya podido ayudarte
Marco Antonio