March 30, 2010 at 2:32 PM
A set is a collection in which no item occurs more than once.
A bag is a collection in which items may occur more than once. They are very inefficient.
A list is an indexed bag. The index informs hibernate whether a particular in-memory object is the same one as an equal on-DB object or not, so there is no need to delete or re-insert.