Valószínűleg a batch update-el lesz a gond.
A teszt kedvéért legeneráltuk az update utasításokat egy sql scriptbe és meg néztük úgy mennyi ideig fut (mysql <teszt.sql).
Ha START TRANSACTION és COMMIT közé vannak betéve akkor kevesebb mint 3 perc, ha nincs akkor több mint egy óra.
Ha bekapcsolom az EclipseLink-ben a logolást akkor egyértelműen látszik, hogy ha nincs bekapcsolva a batch update akkor egyesével küld el minden updatet, viszont ha be van kapcsolva a
<property name="eclipselink.jdbc.batch-writing" value="jdbc" />
akkor látszik hogy kötegelve küldi el.
Ami viszont fölöttébb furcsa, hogy bármilyen érték van megadva a
<property name="eclipselink.jdbc.batch-writing.size" value="1000000" />
propertyben teljesen random szerűen kötegel. Hol csak 2 updatet, hol 10, 20 darabot, de ~száz darabnál sosem többet.