Począwszy od 12.1, Oracle Database zwraca liczbę zaktualizowanych wierszy dla każdego elementu partii. Będziesz potrzebować bazy danych i sterownika 12.1 (12.1.0.2). Ta funkcja nie istnieje we wcześniejszych wersjach bazy danych.
Więc począwszy od 12.1:
int updatedRows[] = pstmt.executeBatch();
faktycznie zwróci tablicę zawierającą liczbę zaktualizowanych wierszy dla każdego elementu w partii zamiast -2. BTW ta funkcja jest dostępna tylko w cienkim sterowniku JDBC.