Es gibt keinen Performance-Unterschied zwischen Batch und Direct, ich tendiere sogar dazu, dass der direkte SQL schneller ist.
Mittels Batch werden die SQL-Befehle innerhalb der Java-Umgebung gepuffert (kostet Speicher) und dann intern per Execute zur Ausführung gebracht.
Desweiteren hast du keine richtige Kontrolle über die Aktion. Beim 1. Fehler hört der Batch nämlich auf !

Mal ganz blöd gefragt: Warum machst du das mit Java auf der AS/400 ???