I'm using a BAG for mapping and digging into the hibernate documentation, I found this from
http://www.hibernate.org/hib_docs/refer ... ollections
Section 14.1.1
"Bags are the worst case. Since a bag permits duplicate element values and has no index column, no primary key may be defined. Hibernate has no way of distinguishing between duplicate rows. Hibernate resolves this problem by completely removing (in a single DELETE) and recreating the collection whenever it changes. This might be very inefficient."
This could be the reason why i'm seeing a single DELETE statement and a lot of INSERT statement in the Hibernate logs.