High-performance Java Persistence.pdf Site
Unidirectional @OneToMany relationships are notoriously inefficient. When a child entity is added or removed from a unidirectional list, Hibernate often deletes all existing rows in the child table and reinstates them one by one to preserve collection ordering.
Executing SQL statements one by one creates immense network overhead. JDBC batching groups multiple insert, update, or delete operations into a single network packet. High-performance Java Persistence.pdf